Java正则表达式模式替换空格后跟特殊字符

时间:2017-01-20 12:47:05

标签: java regex

我有2个字符串

1. Economy / Coach
2. First Class

我想以这种方式使用正则表达式,

条件:

  1. 如果空格后跟特殊字符(/),我需要用""删除空格。 (例如:经济/教练经济/教练)
  2. 如果空格后面没有任何特殊字符,则字符串应该是原样。 (例如:头等舱到头等舱)
  3. 预期产出:

    1. Economy/Coach
    2. First class
    

    有人可以帮我写这个正则表达式吗? 提前致谢

3 个答案:

答案 0 :(得分:1)

最好的方法是使用String#replaceAll方法,但是你必须将它明确地存储到变量中,因为字符串是不可变的。 replaceAll方法会为您提供一个新实例,但不会影响原始字符串。

示例:

String str = "Economy / Coach";
str = str.replaceAll("\\s+/\\s+", "/");

注意模式" \\ s +"将捕获每个空间序列(制表,空格等)。

答案 1 :(得分:0)

只需将" / "的出现位置替换为"/"

String replaced = string.replace(" / ", "/");

请注意,这不使用正则表达式(直接;它在内部执行,但这只是一个实现细节)。

答案 2 :(得分:-1)

首先用“/”检查字符串是否在字符串中。 如果是,那么删除WhiteSpaces。

   if(testString.contains("/")){
        str1 = testString.replaceAll("\\s+","");
    }