我有以下代码
String str = "this is fun";
String str1 = str.replaceAll("is", "").trim();
System.out.println(str1);
输出很有趣。
'this'中的'is'被删除但空间仍然存在,需要做些什么才能删除该空间。感谢您的帮助
由于
答案 0 :(得分:1)
您可以更改正则表达式以匹配可选空格字符。这样,如果is
后跟一个空格,则删除它,但是,如果没有空格,例如is
恰好位于单词的中间或输入的末尾,它仍将被移除。
String str = "this is fun";
String str1 = str.replaceAll("is ?", "").trim();
System.out.println(str1);
答案 1 :(得分:1)
这应该做 - >
String str1 = str.replaceAll("is", "").trim().replaceAll(" "," ");
有了这个,你首先在没有空格的情况下替换“是”。然后你用一个空格替换两个空格。希望这是你想要的!
答案 2 :(得分:0)
将其更改为
String str1 = str.replaceAll("is ", "");
答案 3 :(得分:0)
String str = "this is fun";
//modify String str1 = str.replaceAll("is", "").trim()
String str1 = str.replaceAll("is", "").replaceAll(" ", "");
System.out.println(str1);
答案 4 :(得分:0)
我会使用一个实际的正则表达式。
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);
}
}
答案 5 :(得分:-2)
从“这很有趣”只有“是”被替换。在第二个“是”之前和之后是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);
取决于您期望的输出。