从字符串中删除特定字符。

3

如何从字符串中移除特定字符。我有一个名为testingarray的ArrayList数组。

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

我希望可以从一行文字中删除特定的字符。

我有一个Unicode数组。

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

我想删除那些具有这些Unicode的字符。

1
你能举个例子说明你所说的“删除特定字符”是什么意思吗? - Amulya Khare
例如,我想从字符串(this is a dog)中删除“d”。结果应该是(this is a og)。 - M.ArslanKhan
您是否要删除所有的 d 字符? - Amulya Khare
1
可能是重复的问题:如何从字符串中删除特殊字符?(https://dev59.com/Imsz5IYBdhLWcg3w8Mqr) - kapil thadani
@Amulya Khare 是的,我想要移除所有的d字符。 - M.ArslanKhan
4个回答

14

谢谢。我做了,但没有得到我想要的结果。基本上,我有7个阿拉伯字符的Unicode,int uniCode[]={1611,1614,1615,1616,1617,1618}; 我想删除那些具有这些Unicode的单词。 - M.ArslanKhan
@Shayan pourvatan 非常感谢。这就是我一直在寻找的,我找到了解决方案。 - M.ArslanKhan

7
您可以使用字符串中的replace方法替换字符。
String line = "foo";
line = line.replace("f", "");
System.out.println(line);

输出

oo

1
我的应用程序中最干净的解决方案。 - Whitebird

2
如果只是单个字符,就不需要使用replaceAll函数,该函数使用正则表达式。假设"H"是你要替换的字符:
String line=testingarray.get(index).toString();
String cleanLine = line.replace("H", "");

更新(编辑后): 假设您已经有一个整数数组,其中包含要删除的Unicode字符(我假设这些整数是Unicode字符的十进制值):

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(), "");

1
尝试这个,
String result = yourString.replaceAll("your_character","");

例子:

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

replaceAll("[-+.^:,]","") - 这是一个正则表达式,如果一行中有任何内容,它将用空白替换(修剪它)。 - satender

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接