从 JAVA 字符串中消除以特定字符开头的空格和单词。
删除字符串单词之间的代码空格:
String str1= "This is symbel for snow and silk. Grapes are very dear"
String str2=str1.replaceAll(" ","");
System.out.println(str2);
它给出了这个输出:-
output:
Thisissymbelforsnowandsilk.Grapesareverydear
但我想消除 str1 中以 char 's'(符号雪丝)和 char 'd'(亲爱的)开头的所有单词,以获得以下输出:-
output:
Thisisforand.Grapesarevery
如何通过修改这段代码来实现?
最佳答案
最好的解决方案是使用正则表达式,也称为正则表达式。
这些专为字符串中的复杂搜索和替换功能而设计。
这个:
"([sd]\\w+)|\\s+"
匹配括号 () 指示的单词组,以 's' 或 'd' 开头,后跟一个或多个“单词”字符 (\\w = 任何字母数字或下划线)
< em>OR 一个或多个空白字符 (\\s = whitespace)
。当像这样用作 String replaceAll 函数的参数时:
s.replaceAll("([sd]\\w+)|\\s+", "");
匹配这两种模式中任何一种的每一次出现都被替换为空字符串。
Oracle 的 java 文档中有关于正则表达式的综合信息:
http://docs.oracle.com/javase/tutorial/essential/regex/
虽然一开始它们看起来很神秘,但学习它们可以大大简化您的代码。几乎所有现代语言都提供正则表达式,因此您获得的有关正则表达式的任何知识都是有用且可转移的。
此外,网络上到处都是方便的网站,您可以在这些网站上测试您的正则表达式,然后再将它们提交到代码中。
关于java - 从 JAVA 字符串中消除以特定字符开头的空格和单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014234/