У меня есть строка типа brown,Ceilings,flu,hydraulic bar stool,horse saddles,marble tiles
. Я хочу удалить текст, который не содержит пробелов, но оставить текст, который содержит хотя бы один пробел. Результат должен быть таким hydraulic bar stool,horse saddles,marble tiles
.
Я застрял [^,]*\s
и все еще не знаю, как решить проблему. Как мне сделать это с помощью регулярного выражения find and replace?
решение1
Находить
(?<! )\b[^, ]+(,|$)
Заменить ничем.
Как это работает:
\b[^, ]+
соответствует целым словам.
(?<! )
ограничивает эти совпадения словами, которым не предшествует пробел.
(,|$)
дополнительно ограничивает совпадения словами, за которыми следует запятая или конец строки.
Это должно соответствовать всем записям, состоящим из одного слова, включая запятую в конце.