如何从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("\\(", "");
等等..