我有以下代码
String str = "this is fun";
String str1 = str.replaceAll("is", "").trim();
System.out.println(str1);
输出很有趣。
'this' 中的 'is' 已被删除,但空间仍然存在,需要做些什么来删除该空间。感谢你的帮助
谢谢
我有以下代码
String str = "this is fun";
String str1 = str.replaceAll("is", "").trim();
System.out.println(str1);
输出很有趣。
'this' 中的 'is' 已被删除,但空间仍然存在,需要做些什么来删除该空间。感谢你的帮助
谢谢
这应该做->
String str1 = str.replaceAll("is", "").trim().replaceAll(" "," ");
有了这个,您首先要替换没有空格的“is”。然后你用一个空格替换两个空格。希望这是你想要的!
您可以更改正则表达式以匹配可选的空格字符。这样如果is
后面跟一个空格,它就会被删除,但是,如果没有空格,比如is
恰好在单词中间或输入末尾,它仍然会被删除。
String str = "this is fun";
String str1 = str.replaceAll("is ?", "").trim();
System.out.println(str1);
将其更改为
String str1 = str.replaceAll("is ", "");
String str = "this is fun";
//modify String str1 = str.replaceAll("is", "").trim()
String str1 = str.replaceAll("is", "").replaceAll(" ", "");
System.out.println(str1);
我会使用一个实际的正则表达式。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringTest {
public static void main(String[] args) {
String str = "this is fun";
Pattern pattern = Pattern.compile("\\s*is");
Matcher matcher = pattern.matcher(str);
String str1 = matcher.replaceAll("").trim();
System.out.println(str1);
}
}
从“这很有趣”只有“是”被替换。第二个 "is" 前后是 2 个 " " 空格。也许你想要:
String str = "this is fun";
String str1 = str.replaceAll("is ", "").trim();
System.out.println(str1);
或者
String str = "this is fun";
String str1 = str.replaceAll(" is", "").trim();
System.out.println(str1);
取决于您期望的输出。