如何从字符串中删除特定字符。我有一个Arraylist测试阵列。
String line=testingarray.get(index).toString();
我想从行中删除特定字符。
我有unicodes数组
int uniCode[]={1611,1614,1615,1616,1617,1618};
我想删除那些拥有这些Unicodes的字符。
答案 0 :(得分:13)
使用:
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
答案 1 :(得分:6)
你可以用字符串中的replace方法替换字符。
String line = "foo";
line = line.replace("f", "");
System.out.println(line);
输出
oo
答案 2 :(得分:2)
如果它是单个char,则不需要使用使用正则表达式的replaceAll。假设“H是你要替换的角色”:
String line=testingarray.get(index).toString();
String cleanLine = line.replace("H", "");
更新(编辑后): 因为你已经有一个你要删除的unicodes的int数组(我假设整数是unicodes的十进制值):
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(), "");
答案 3 :(得分:1)
试试这个,
String result = yourString.replaceAll("your_character","");
示例:
String line=testingarray.get(index).toString();
String result = line.replaceAll("[-+.^:,]","");