У меня есть несколько строк, как показано ниже
ab.ab.c,ab.d,bc.e,mt
bc.e,nmt
ef.1,mt
Я хочу использовать regex
, чтобы определенным образом проанализировать эти строки и получить результат
Например
ab.ab.c,ab.d,bc.e,mt
val1 = ab (take the value prior to first dot)
val2 = ab.c,ab.d,bc.e (take the value after first dot but before the last comma)
val3 = mt (take value after the last comma)
Аналогично
bc.e,nmt
val1 = bc (take the value prior to first dot)
val2 = e (take the value after first dot but before the last comma)
val3 = nmt (take value after the last comma)
ef.1,mt
val1 = ef
val2 = 1
val3 = mt
Теперь мой подход довольно длинный и неэффективный.Это то, что я делаю
let val3 = someString.split(',').slice(-1)[0]
let remaining_string = someString.replace("," + val3, "")
let val1 = remaining_string.slice(0, remaining_string.indexOf('.'))
let val2 = null
if(remaining_string.split(",").length > 1) {
val2 = remaining_string.replace("."+val1, "")
}
else {
val2 = remaining_string.split(".")[1]
}
Есть ли какой-нибудь вкладыш или более чистое решение для быстрого получения val1
, val2
и val3
?