2013-10-15 3 views
0

Я пытаюсь удалить только [A-z|a-z] как это:Как удалить только символы в заданной строке в java?

String input ="A021001208A 711100609C 01111"; 
String clean = input.replaceAll("\\D+^\\s+",""); 
System.out.println(clean.toString()); 

но приведенный выше код также удаляет пробелы; Я не хочу удалять пространство.

Ожидаемый результат:

021001208 711100609 01111 

Пожалуйста, помогите мне формиата в REG-ех, чтобы удалить только символы.

ответ

0

Вместо того, чтобы использовать позитивный класс символов, используйте отрицание один. Регулярно вы хотите:

[^\d\s] 

Это означает «любой символ, отличный от цифры или пробела».
Когда закодирован как Java, это выглядит следующим образом:

String clean = input.replaceAll("[^\\d\\s]",""); 
+0

его удаление пространства между строкой, я хочу сохранить пространство, и он должен удалить только AZ или az – jcrshankar

+0

ya thank u .. это то, что я хочу .. – jcrshankar

+0

@jcrshankar Лучше покажите нам свой фактический код, фактический текст и вывод вы попали в свой вопрос, потому что ни это, ни регулярное выражение в моем ответе не будут удалять пробелы. –

1

Просто замените [a-zA-Z] тогда:

String clean = input.replaceAll("(?i)[A-Z]+",""); 

(?i) это игнорировать выражение флаг случай встроен.

+0

его удаление пространства между строкой, я хочу, чтобы сохранить пробел и он должен удалить только A-Z или A-Z – jcrshankar

+0

Я не считаю, что это удаление пространства. Вы уверены, что правильно его протестировали? –

0

Попробуйте это, он заменит все вхождение алфавита из данной строки.

String clean = input.replaceAll("[^a-zA-Z]", ""); 
+0

input.replaceAll ("[a-zA-Z]", ""); это прекрасно, чтобы удалить символы .. любой шаблон reg-ex для этого же. – jcrshankar

+0

@jcrshankar Выше также является регулярным выражением. Кажется, вы ищете какой-то сложный ответ ... да ?? –

0

Вы должны использовать [a-zA-Z] регулярное выражение. Таким образом, ваш метод .replaceAll() будет выглядеть, как показано ниже:

String clean = input.replaceAll("[a-zA-Z]",""); 
+0

ya это даст мой вывод, любой шаблон регулярного выражения для того же самого. – jcrshankar

+0

'[a-zA-Z]' является только шаблоном регулярного выражения. И FYI, если он работает, тогда '[a-zA-Z] +' тоже будет работать. –

Смежные вопросы