有一个简单的方法来删除子字符串从给定的字符串在Java?
例如:“Hello World!”,去掉“o”→“Hell Wrld!”
有一个简单的方法来删除子字符串从给定的字符串在Java?
例如:“Hello World!”,去掉“o”→“Hell Wrld!”
当前回答
你可以使用
String helloWorld = "Hello World";
String target = "e";
String replacement = "";
String replacedString = helloWorld.replace(target, replacement);
The answer is = Hllo World
或者你可以使用正则表达式
String original = "Java is one of best languages. OOP can be used in Java";
String regexTarget = "\\bJava\\b";
String replacedWord = original.replaceAll(regexTarget, "Python");
The answer is = Python is one of best languages. OOP can be used in Python
其他回答
这对我很有用。
String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");
或者你可以用
String no_o = hi.replace("o", "");
你可以使用StringBuffer
StringBuffer text = new StringBuffer("Hello World");
text.replace( StartIndex ,EndIndex ,String);
你应该看看StringBuilder/StringBuffer,它允许你删除,插入,替换指定偏移量的字符。
除了@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");
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()。