如何从Java中的特定字符串中删除特定字符?

Sla*_*sic 40 java string immutability

例如,我从文本文件中提取文本字符串,我需要这些字来形成一个数组.但是,当我做所有这些时,一些单词以逗号(,)或句号(.)结尾,或者甚至附加括号(这都是完全正常的).

我想要做的就是摆脱那些角色.我一直试图在Java中使用那些预定义的String方法来做到这一点,但我无法解决它.

Mar*_*ers 181

将变量重新分配给子字符串:

s = s.substring(0, s.length() - 1)
Run Code Online (Sandbox Code Playgroud)

另外一种解决问题的方法是:您可能还需要考虑使用StringTokenizer来读取文件并将分隔符设置为您不希望成为单词的一部分的字符.

  • @trashgod - 你不需要微基准来告诉你.只是一点点常识......并查看`String.substring()`的源代码. (2认同)

OMG*_*ies 17

使用:

String str = "whatever";
str = str.replaceAll("[,.]", "");
Run Code Online (Sandbox Code Playgroud)

replaceAll采用正则表达式.这个:

[,.]
Run Code Online (Sandbox Code Playgroud)

...查找每个逗号和/或句号.


Tom*_*and 7

要删除最后一个角色,请按Mark Byers所说

s = s.substring(0, s.length() - 1);
Run Code Online (Sandbox Code Playgroud)

此外,另一种删除您不想要的字符的.replace(oldCharacter, newCharacter)方法是使用该方法.

如:

s = s.replace(",","");
Run Code Online (Sandbox Code Playgroud)

s = s.replace(".","");
Run Code Online (Sandbox Code Playgroud)