-1

我有以下代码

String str = "this is fun";
String str1 = str.replaceAll("is", "").trim();
System.out.println(str1);

输出很有趣。

'this' 中的 'is' 已被删除,但空间仍然存在,需要做些什么来删除该空间。感谢你的帮助

谢谢

4

6 回答 6

1

这应该做->

String str1 = str.replaceAll("is", "").trim().replaceAll("  "," ");

有了这个,您首先要替换没有空格的“is”。然后你用一个空格替换两个空格。希望这是你想要的!

于 2013-09-25T23:14:00.673 回答
1

您可以更改正则表达式以匹配可选的空格字符。这样如果is后面跟一个空格,它就会被删除,但是,如果没有空格,比如is恰好在单词中间或输入末尾,它仍然会被删除。

String str = "this is fun";
String str1 = str.replaceAll("is ?", "").trim();
System.out.println(str1);
于 2013-09-25T23:05:03.200 回答
0

将其更改为

String str1 = str.replaceAll("is ", "");
于 2013-09-25T22:59:56.810 回答
0
String str = "this is fun";
//modify String str1 = str.replaceAll("is", "").trim()
String str1 = str.replaceAll("is", "").replaceAll(" ", "");
System.out.println(str1);
于 2013-09-25T23:00:40.197 回答
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);
  }
}
于 2013-09-25T23:04:54.557 回答
-2

从“这很有趣”只有“是”被替换。第二个 "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);

取决于您期望的输出。

于 2013-09-25T22:57:07.240 回答