Java 如何从字符串中删除一些单词
我想从字符串中删除某些单词。我想删除的字眼是:“a”、“an”、“and”、“The”、“of”和“or” 我使用了以下方法:Java 如何从字符串中删除一些单词,java,Java,我想从字符串中删除某些单词。我想删除的字眼是:“a”、“an”、“and”、“The”、“of”和“or” 我使用了以下方法: void doNoiseEliminator(Vector<String> input){ noNoiseLines = new Vector<String>(); String temp; for(int i = 0; i < input.size(); i++) {
void doNoiseEliminator(Vector<String> input){
noNoiseLines = new Vector<String>();
String temp;
for(int i = 0; i < input.size(); i++) {
String regex = "(\\sand\\s)|(\\sa\\s)|(\\sthe\\s)|(\\san\\s)|(\\sof\\s)|(\\sor\\s)";
temp = input.get(i).replaceAll(regex, " ");
noNoiseLines.add(temp);
}
}
void doNoiseEliminator(矢量输入){
非均匀线=新向量();
字符串温度;
对于(int i=0;i
但这似乎不起作用。我的程序采用一条字符串行,并对该行进行循环移位
对于以下输入:
我叫约翰我的名字是山姆
我的名字是OR RAW
输出为:
为什么会这样?我怎样才能纠正这个问题?请帮帮我。谢谢 说实话,我没有完全理解你的问题,但是先试试简单的方法,没有正则表达式,你的问题可能就在那里。如果需要,就去优化它 例如,试试这样的东西 无效doNoiseEliminator(矢量输入){
noNoiseLines=新向量();
字符串温度;
对于(int i=0;i
当然,这不应该是最终的解决方案,它只是检查它是否有效。工作中,您可以检查/修复正则表达式或任何其他解决方案
希望它有助于指导解决方案,cya。他们这样使用-
noNoiseLines = new Vector<String>();
String temp;
for(int i = 0; i < input.size(); i++) {
temp = input.get(i).replaceAll(" and|an|a|the|of|or ", " ");
noNoiseLines.add(temp);
}
noNoiseLines=新向量();
字符串温度;
对于(int i=0;i
}
首先放置和然后放置一个然后放置一个。如果你把a放在an之前,它会将a的所有出现(包括包含an的单词)替换为“”,只剩下n谢谢你的回答。有些是正确的,但如果我输入“我的名字是约翰”这样的输入,输出将是“我的名字是约翰”。
noNoiseLines = new Vector<String>();
String temp;
for(int i = 0; i < input.size(); i++) {
temp = input.get(i).replaceAll(" and|an|a|the|of|or ", " ");
noNoiseLines.add(temp);
}