有一个简单的方法来删除子字符串从给定的字符串在Java?
例如:“Hello World!”,去掉“o”→“Hell Wrld!”
有一个简单的方法来删除子字符串从给定的字符串在Java?
例如:“Hello World!”,去掉“o”→“Hell Wrld!”
当前回答
replace('regex', 'replacement');
replaceAll('regex', 'replacement');
在你的例子中,
String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");
其他回答
private static void replaceChar() {
String str = "hello world";
final String[] res = Arrays.stream(str.split(""))
.filter(s -> !s.equalsIgnoreCase("o"))
.toArray(String[]::new);
System.out.println(String.join("", res));
}
如果你有一些复杂的逻辑来过滤字符,那就用另一种方法代替replace()。
你也可以使用番石榴的CharMatcher。removeFrom函数。
例子:
String s = CharMatcher.is('a').removeFrom("bazaar");
你应该看看StringBuilder/StringBuffer,它允许你删除,插入,替换指定偏移量的字符。
你可以轻松地使用String.replace():
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
除了@DwB answer,你还可以使用StringUtils remove:
String hello = "hello world";
String hellYeah = StringUtils.remove(hello, "o");
或removeIgnoreCase:
String hello = "hellO world";
String hellYeah = StringUtils.remove(hello, "o");