Извлечение текста перед первой запятой с регулярным выражением
Я хочу извлечь текст перед первой запятой (имя и фамилия) из строк, например:
John Smith, RN, BSN, MS
Thom Nev, MD
Foo Bar, MD,RN
Я попытался с регулярным выражением:
(.*)\s(.*),\s
но это не работает для всех ситуаций.
Как достичь этого?
Ответ 1
Сопоставьте все с начала строки до первой запятой:
^(.+?),
Ответ 2
Как насчет: yourString.split(",")[0]
Ответ 3
Вы должны использовать не жадные операторы регулярных выражений, попробуйте: (.+?), вместо: (.+),. Обратите внимание, что при использовании жадных операторов вы будете сопоставлять все до последней запятой вместо первой.
Ответ 4
Как насчет следующего:
[^,]*
[^,]* означает "соответствовать любому количеству символов, которые не являются запятыми", что я считаю именно тем, что вы пытаетесь сделать здесь. Вы можете привязать его к началу строки iwth ^, например:
^[^,]*
Ответ 5
^[a-zA-Z0-9]+
.. используйте это... это правильный ответ, чтобы получить значение, разделенное запятыми