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

例如,我从文本文件中提取文本string,我需要这些字形成一个数组。 但是,当我用逗号(,)或句号(。)结尾,或者甚至附上括号(这完全正常)的时候。

我想要做的就是摆脱这些angular色。 我一直在使用Java中那些预定义的String方法来做到这一点,但我无法绕过它。

使用:

String str = "whatever"; str = str.replaceAll("[,.]", ""); 

replaceAll需要一个正则expression式 。 这个:

 [,.] 

…查找每个逗号和/或句点。

将variables重新分配给一个子string:

 s = s.substring(0, s.length() - 1) 

另外一种解决问题的方法:你也可以考虑使用StringTokenizer来读取文件,并将分隔符设置为你不想成为单词的字符。

像马克·拜尔斯所说的去除最后一个字符

 s = s.substring(0, s.length() - 1); 

另外,另一种删除不需要的字符的方法是使用.replace(oldCharacter, newCharacter)方法。

如下所示:

 s = s.replace(",",""); 

 s = s.replace(".",""); 

您不能修改Java中的string。 他们是不变的。 你所能做的就是创build一个新的string,它是旧string的子string,减去最后一个字符。

在某些情况下,StringBuffer可能会帮助你。

最好的方法是马克·拜尔斯解释说:

 s = s.substring(0, s.length() - 1) 

例如,如果我们想用ReplaceAllreplace\到空格“”,它不能正常工作

 String.replaceAll("\\", ""); 

要么

 String.replaceAll("\\$", ""); //if it is a path 

请注意,单词界限还取决于语言环境。 我认为最好的方法是使用标准的java.text.BreakIterator来完成它。 这里是java.sun.com教程的一个例子。

 import java.text.BreakIterator; import java.util.Locale; public static void main(String[] args) { String text = "\n" + "\n" + "For example I'm extracting a text String from a text file and I need those words to form an array. However, when I do all that some words end with comma (,) or a full stop (.) or even have brackets attached to them (which is all perfectly normal).\n" + "\n" + "What I want to do is to get rid of those characters. I've been trying to do that using those predefined String methods in Java but I just can't get around it.\n" + "\n" + "Every help appreciated. Thanx"; BreakIterator wordIterator = BreakIterator.getWordInstance(Locale.getDefault()); extractWords(text, wordIterator); } static void extractWords(String target, BreakIterator wordIterator) { wordIterator.setText(target); int start = wordIterator.first(); int end = wordIterator.next(); while (end != BreakIterator.DONE) { String word = target.substring(start, end); if (Character.isLetterOrDigit(word.charAt(0))) { System.out.println(word); } start = end; end = wordIterator.next(); } } 

资料来源: http : //java.sun.com/docs/books/tutorial/i18n/text/word.html

你可以使用replaceAll()方法:

 String.replaceAll(",", ""); String.replaceAll("\\.", ""); String.replaceAll("\\(", ""); 

等等..