2013-12-25 3 views
1

Как удалить определенный символ из строки. У меня есть арраилистский тест.Удалить конкретный символ из строки

String line=testingarray.get(index).toString(); 

Я хочу удалить конкретный символ из строки.

У меня есть массив юникодов

int uniCode[]={1611,1614,1615,1616,1617,1618}; 

я хочу, чтобы удалить те символы, которые имеют эти юникоды.

+0

дают некоторый пример –

+1

Можете ли вы привести пример того, что вы подразумеваете под _remove специфический character_ –

+0

Для примера я хочу удалить «D» из строки (это собака) , Результат должен быть (это og). –

ответ

11

использование:

NewString = OldString.replaceAll("char", ""); 

в вашем примере в комментариях использовании:

NewString = OldString.replaceAll("d", ""); 

для удаления арабского характера см следующей ссылки

how could i remove arabic punctuation form a String in java

removing characters of a specific unicode range from a string

+0

спасибо. Я сделал это, но я не получил то, что хочу. В принципе, я хочу, чтобы у меня было 7 юникодов арабских символов, int uniCode [] = {1611,1614,1615,1616,1617,1618}; Я хочу удалить те слова, которые имеют эти unicodes –

+0

, так что см. мое редактирование. –

+0

@ Shayan pourvatan благодарит много. Это то, что я искал, я получил свое решение. –

1

Попробуйте это,

String result = yourString.replaceAll("your_character",""); 

Пример:

String line=testingarray.get(index).toString(); 
String result = line.replaceAll("[-+.^:,]",""); 
+0

replaceAll ("[- +.^:,]", "") - это работает как regEx, и если что-то присутствует в строке, оно заменяется пустым (обрезает его). – satender

1

Если это один символ, нет необходимости использовать replaceAll, который использует регулярное выражение. Предполагая, что «H является символом, который вы хотите заменить»:

String line=testingarray.get(index).toString(); 
String cleanLine = line.replace("H", ""); 

обновления (после редактирования): поскольку у вас уже есть Int массив юникоды вы хотите удалить (я предполагаю Целые числа являются десятичным значением Юникоды):

String line=testingarray.get(index).toString(); 
int uniCodes[] = {1611,1614,1615,1616,1617,1618}; 
StringBuilder regexPattern = new StringBuilder("["); 
for (int uniCode : uniCodes) { 
    regexPattern.append((char) uniCode); 
} 
regexPattern.append("]"); 
String result = line.replaceAll(regexPattern.toString(), ""); 
4

Вы можете заменить символ, используя метод replace в строке.

String line = "foo"; 
line = line.replace("f", ""); 
System.out.println(line); 

выход

oo 
+1

Самое лучшее решение для моего приложения. – Whitebird

+0

@Whitebird Это мое удовольствие. – Visruth

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