【问题标题】:How to replace last character in a string with white space in the end如何在最后用空格替换字符串中的最后一个字符
【发布时间】:2016-06-06 06:39:20
【问题描述】:

我在java中有这种场景,字符串中的最后一个字符:-应该换成""。

例子:

String value = "data - ";

String value2 = "data :";

value.replaceAll("[-:]$","");

value2.replaceAll("[:-]$","");

System.out.println(value);

System.out.println(value2);

输出:

data -

data

我认为空格被视为最后一个字符并且与正则表达式提供的不匹配,有人可以帮我解决这个问题吗?谢谢。

【问题讨论】:

  • value.replaceFirst("\\s*[-:]\\s*$","");
  • plus 1 para sa grad pic :) 不错。在替换之前先修剪空格,以便消除空格
  • @Katana 我认为您的解决方案是一个多余的过程,因为在替换字符修剪之后会随之而来。
  • String 是 Java 中的不可变对象。调用replaceAll() 方法不会更改原始值。 replaceAll() 方法将返回 String 的新实例。
  • @AvinashRaj 谢谢!

标签: java regex whitespace trim


【解决方案1】:
private static String strip(String s) {
    if (s.endsWith(":") || s.endsWith("-")){
        s = s.substring(0, s.length()-1);
    }
    return s;
}

【讨论】:

    【解决方案2】:

    您可以使用value.trim() 删除任何多余的空格。

    【讨论】:

    • 是的,更换后会进行修剪,谢谢提醒
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多