String test = "This is my learning of java language and this is interesting";
我想选择这个字符串的第一个单词并删除它的所有出现,结果应该是
String test = "is my learning of java language and is interesting";
所以我可以知道“这个”字被删除了,它在给定的字符串中出现了2次。
提前致谢...
答案 0 :(得分:2)
您可以使用(?i)
进行不区分大小写的匹配:
例如:
String test = "This is my learning of java language and this is interesting";
String newTest = test.replaceAll("(?i)"+test.split(" ")[0], "").trim();
答案 1 :(得分:1)
这样的东西?
test = test.replaceAll((test.split(" ")[0]), "");
编辑:好的,不区分大小写使这更有趣。
String[] words = test.split(" ");
String firstword = words[0];
String test = "";
for(String word : words) {
if(!word.equalsIgnoreCase(firstword)) {
test += " " + word;
}
}
我在浏览器中写这些内容,所以它可能并不完美,但这应该会让球滚动。
答案 2 :(得分:1)
为简单起见,该示例假设存在有效输入。
11 public static String removeAllOccuranceOfFirst(String input) {
12
13 String[] words = input.split(" ");
14
15 String firstWord = words[0];
16
17 StringBuilder result = new StringBuilder();
18
19 for(int i=1; i<words.length; i++) {
20
21 if(firstWord.equlaIgnorecase(words[i]) == false) {
22 result.append(words[i]);
23 result.append(" ");
24 }
25 }
26
27 return result.toString();
28 }
所以这里发生了什么事。
13 - 我们将输入分成单独的字符串(单词),因为我们将空格视为分隔符。如果你有昏迷,分号程序将失败。 (一个让你纠正的家庭作业:)
15 - 我们拿起arra索引零下的第一个单词。 Java数组索引从零开始。
17 - 我们创建了一个字符串构建器的实例,这个类专门用于字符串操作,因为String本身是不可变的,一旦创建无法更改并且必须创建新的。
19 - 我们从索引1开始循环并遍历所有wrod。
21 - 我们比较当前(i)单词不等于第一个单词
22 - 如果不相等,我们将它附加到我们的StringBuilder。
28 - 我们将StringBuilder实例转换为String并返回它。
答案 3 :(得分:1)
gtgaxiola的答案版本:
String test = "This is my learning of java language and this is interesting";
String newTest = test.replaceAll("(?i)\\b" + test.split(" ")[0] + "\\b *", "").trim();
如果你的“单词”中有特殊字符的可能性,那么这个更强大:
String newTest = test.replaceAll("(?i)\\b" + Pattern.quote(test.split(" ")[0]) + "\\b *", "").trim();
这会检查以确保删除的单词位于单词边界(即不是较大单词的一部分),并且还会删除删除单词后面的任何空格字符。
答案 4 :(得分:0)
test.replaceAll("This","").replaceAll("this", "")
答案 5 :(得分:0)
就像那样:
String firstWord = test.split(" ")[0];
if (firstWord != null){
String result = test.replaceAll(firstWord , "");
}
答案 6 :(得分:-1)
+1 Cody S另一种方式就是这个
String firstword =test.split(" ")[0];
test=test.replaceAll(firstword, "");