Как мне сделать это регулярное выражение действительным Java регулярное выражение? - PullRequest
0 голосов
/ 03 сентября 2010

В ранее я задавал вопрос о санации почтовых адресов, один из респондентов рекомендовал это решение:

addressString.replace(/^\s*[0-9]+\s*(?=.*$)/,'');

, который, возможно, является допустимым вызовом регулярного выражения, но недопустим в Java.

Я безуспешно пытался создать этот действительный код Java, изменив его на следующее:

addressString.replaceAll("/^\\s*[0-9]+\\s*(?=.*$)/","")

Но этот код не влиял на адрес, с которым я его проверял:

310 W 50th Street

Не правильно ли я перевел это на Java?

Ответы [ 4 ]

5 голосов
/ 03 сентября 2010

Вам не нужны косые черты в Java.

addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")
3 голосов
/ 03 сентября 2010

Вы должны удалить косую черту в начале и в конце:

addressString.replaceAll("^\\s*[0-9]+\\s*(?=.*$)","")

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

1 голос
/ 03 сентября 2010

Вам нужно избавиться от косой черты в начале и в конце.

В будущем вы, вероятно, можете попросить разъяснения по самому ответу вместо того, чтобы начинать новый вопрос.Я прошу прощения, я собирался попросить человека, который дал этот ответ, перевести его на действительную Java сам, но забыл.

0 голосов
/ 03 сентября 2010

Отредактировано для поддержки названий улиц, начинающихся с цифры:

Попробуйте следующую строку Java:

"^\\s*[0-9]+\\s*(?=.*$)". 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...