java String replaceAll方法替换并创建空白空间

时间:2013-09-25 22:55:21

标签: java string replaceall

我有以下代码

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

输出很有趣。

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

由于

6 个答案:

答案 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);

取决于您期望的输出。