Разбить строку, но запятую

1

Мне нужно разбить строку предложения, которая сохраняет не-пробелы, такие как . или ,. Мне нужно, чтобы они включались в строку массива, разделяемую. Не в их собственном отдельном индексе массива.

const regex = /\W(?:\s)/g

function splitString (string) {
  return string.split(regex)
}

console.log(splitString("string one, string two, thing three, string four."))

// Output ["string one", "string two", "thing three", "string four."]
// Desired ["string one,", "string two,", "string three,", "string four."]
  • 0
    какой желаемый результат?
  • 0
    Какой желаемый результат?
Показать ещё 3 комментария
Теги:
arrays
split

1 ответ

2
Лучший ответ

Возможно, используя подход с сопоставлением, а не сплит-подход:

"string one, string two, thing three, four four.".match(/\w+(?:\s\w+)*\W?/g);
// [ 'string one,', 'string two,', 'thing three,', 'four four.' ]

или что-то более конкретное (таким образом вы можете легко выбрать один или несколько символов-разделителей):

"string one, string two, thing three, four four.".match(/\S.*?(?![^,]),?/g);
  • 0
    Спасибо за это :) творит чудеса.
  • 0
    Если кто-то хочет описания регулярных выражений - regex101.com/r/1mn4J9/1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню