是否有一种简单的方法可以从Java中的给定String
中删除子字符串?
示例:"Hello World!"
,删除"o"
→"Hell Wrld!"
答案 0 :(得分:302)
您可以轻松使用String.replace()
:
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
答案 1 :(得分:8)
您可以使用StringBuffer
StringBuffer text = new StringBuffer("Hello World");
text.replace( StartIndex ,EndIndex ,String);
答案 2 :(得分:6)
replace('regex', 'replacement');
replaceAll('regex', 'replacement');
在您的示例中,
String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");
答案 3 :(得分:5)
static String replace(String text, String searchString, String replacement)
将所有出现的String替换为另一个 字符串。static String replace(String text, String searchString, String replacement, int max)
用一个内部的另一个String替换一个String 较大的字符串,用于搜索字符串的第一个最大值。static String replaceChars(String str, char searchChar, char replaceChar)
用字符串替换字符串中出现的所有字符 另一个。static String replaceChars(String str, String searchChars, String replaceChars)
一次取代字符串中的多个字符。static String replaceEach(String text, String[] searchList, String[] replacementList)
替换所有出现的字符串 另一个字符串。static String replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
替换所有出现的内容 另一个字符串中的字符串。static String replaceOnce(String text, String searchString, String replacement)
用一个内部的另一个String替换一个String 更大的字符串,一次。static String replacePattern(String source, String regex, String replacement)
替换源String的每个子字符串 使用给定的替换匹配给定的正则表达式 Pattern.DOTALL选项。
答案 4 :(得分:3)
您应该查看StringBuilder/StringBuffer
,它允许您删除,插入,替换指定offset处的字符。
答案 5 :(得分:3)
这对我有用。
String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");
或者您可以使用
String no_o = hi.replace("o", "");
答案 6 :(得分:2)
答案 7 :(得分:0)
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));
}
如果您有一些复杂的逻辑来过滤char,只需用另一种方法代替replace()
。
答案 8 :(得分:0)
这是从给定字符串中删除所有子字符串的实现
override func encodeRestorableState(with coder: NSCoder) {
coder.encode(self.myTextField.text ?? "", forKey: "myTextFieldRestorationKey")
super.encodeRestorableState(with: coder)
}
override func decodeRestorableState(with coder: NSCoder) {
if let txt = coder.decodeObject(forKey: "myTextFieldRestorationKey") as? String { self.myTextField.text = txt }
super.decodeRestorableState(with: coder)
}
isSubstring()方法的实现为here
答案 9 :(得分:0)
replaceAll(String regex, String replacement)
上述方法将有助于获得答案。
String check = "Hello World";
check = check.replaceAll("o","");
答案 10 :(得分:0)
您还可以使用Substring替换现有字符串:
var str = "abc awwwa";
var Index = str.indexOf('awwwa');
str = str.substring(0, Index);
答案 11 :(得分:0)
如果您知道开始和结束索引,则可以使用
string = string.substring(0, start_index) + string.substring(end_index, string.length());