Здравствуйте, я пришел на этот вопрос , где автор хотел преобразовать строку:
exampleString = "2 Marine Cargo 14,642 10,528 Denver Factory North 16,016 more text 8,609 argA 2,106 argB"
в массив / список, который выглядит примерно так:
String[] resultArray = {"2", "Marine Cargo", "14,642", "10,528", "Denver Factory North", "16,016",
"more text", "8,609", "argA", "2,106", "argB"};
Таким образом, числовые части (с запятой или без нее) считаются элементом
и чистые альфа-последовательности (разделенные ни одним, одним или несколькими пробелами) считаются элементом.
Это можно сделать, сопоставив группы
или путем разделения на пробелы, где как предыдущая, так и следующая часть строки не имеют альфа-последовательности. Мне любопытно, возможно ли последнее.
Я думаю, что часть должна быть сделана с отрицательным взглядом вперед:
\s+(?![A-Za-z]+)
и часть с отрицательным взглядом позади.
(?<![a-zA-Z])\s+
Я хочу объединить оба утверждения таким образом, чтобы оно совпадало только с , а не , если обе части до и после последовательности пробелов являются альфа-значениями, поэтому можно объединять несколько слов в цепочку, не разбивая их между. Я нашел еще один вопрос по этой теме, но я не смог перепроектировать его для этого конкретного случая. Это возможно?