Это разбивает строку, как хотелось, но не держать Seperator:Split Строка с Regex, Keep Seperator
"200 g Joghurt".split(/[0-9]?\s?[–|-]?\s?[0-9]+\s?g{0,1}\b/)
["", " Joghurt"]
У меня есть случаи, как этот
- 100-200г
- 1g
- 240 - 1500 г
В этой ветке предлагается t o используйте положительный взгляд вперед. Javascript and regex: split string and keep the separator
Но если я положил его в нем распадается на много:
"200 g Joghurt".split(/(?=[0-9]?\s?[–|-]?\s?[0-9]+\s?g{0,1}\b)/)
["2", "0", "0 g Joghurt"]
Вопрос: Как разделить эту строку выше (число может быть любое количество, Joghurt может быть любое слово) после цифр и г. , например.
["200-400g", "joghurt"]
EDIT: Есть случаи, когда я не имею г, например,
- 1 песня
- песня
- майкл джексон песня
Так что соответствие с г не работает. Случаями, которые я приводил в примерах, являются случаи с g. И g всегда сочетается с одним числом или диапазоном чисел. Прошу прощения за путаницу. Я хочу разделить ингредиенты рецепта на ингредиент и количество. G - грамм, возможно, это делает использование более понятным.
EDIT 2: Я также изменил его немного, регулярное выражение в основном работает, как вы можете видеть в этом примере: https://regex101.com/r/rL7hY9/1 Но это не разделить его на весь блок. У меня также есть эта проблема с другими случаями регулярного выражения, совпадение в regex101 - это целая группа. Но .split() не разбивает его в одной части (с положительным взглядом).
https://regex101.com/r/fB6jO3/2? Что-то вроде этого? Я использовал группы захвата .... – sinisake
wait, как '200 g Joghurt' становится' ["200-400g", "joghurt"] '? – Jamiec
На самом деле, что же нужно выводить здесь вообще? 1) количество/масса + 2) ингредиент? – sinisake