Регулярное выражение для сопоставления номера после определенного текста

#regex #scala #apache-spark

#регулярное выражение #скала #apache-spark

Вопрос:

У меня есть следующий текст для применения регулярного выражения, где я хочу заменить все вхождения,N , которые будут заменены на «»

1,N,1, XROW30_!@#@!#_1231_asdsad

Я смог протестировать это регулярное выражение (, N, [ d]) в http://regexr.com / . Выражение, по-видимому, правильно соответствует тексту.

Однако, когда я использую его в своей программе, регулярное выражение не работает

 val regN = """(,N,[d])"""

...
.map (row => row.replace(regN, "")) 
 

Конечный результат, который я ищу, заключается в следующем
1, XROW30_!@#@!#_1231_asdsad

Что я делаю не так?

Ответ №1:

String.replace этот метод не будет заменен на regex: String.replace

вы должны использовать String.replaceFirst или String.replaceAll :String.replaceFirst String.replaceAll

Комментарии:

1. Спасибо @chengpohi. Это действительно была проблема.