Регулярное выражение удаляет начальный пробел и символ тире - PullRequest
4 голосов
/ 15 марта 2010

Учитывая строку как String a="- = - - What is your name?";

Как убрать начальные равные, тире, пробелы, чтобы получить чистый текст,

«Как тебя зовут?»

Ответы [ 6 ]

5 голосов
/ 15 марта 2010

Если вы хотите удалить ведущие не алфавиты, вы можете сопоставить:

^[^a-zA-Z]+

и замените его на '' (пустая строка).

Пояснение:

  • first ^ - Якорь для соответствия на начала.
  • [] - класс символов
  • second ^ - отрицание в классе char
  • + - Один или несколько предыдущих матчей

Таким образом, регулярное выражение соответствует одному или нескольким не алфавитам, которые находятся в начале строки.

В вашем случае он избавится от всех начальных пробелов, начальных дефисов и начального знака равенства. Короче все до первого алфавита.

1 голос
/ 15 марта 2010

Java:

String replaced = a.replaceFirst("^[-= ]*", "");
1 голос
/ 15 марта 2010

В Javascript вы можете сделать это так

var a = "- = - - What is your name?";
a = a.replace(/^([-=\s]*)([a-zA-Z0-9])/gm,"$2");
1 голос
/ 15 марта 2010
 $a=~s/- = - - //;
0 голосов
/ 15 марта 2010

В Python:

>>> "- = - - What is your name?".lstrip("-= ")
'What is your name?'

Чтобы удалить любые пробелы, используйте .lstrip("-= \t\r\n").

0 голосов
/ 15 марта 2010

Предполагая, что Java попробует это регулярное выражение:

 /^\W*(.*)$/

получить вашу строку из захваченной группы 1!

\W* соответствует всем предшествующим несловам
(.*) затем сопоставляет все символы до конца, начиная с первого символа слова

^, $ - границы. в этом случае вы даже можете обойтись без $.

Подсказка, попробуйте отличный справочник Java regex для справки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...