【问题标题】:How can i remove a particular comma at end如何在末尾删除特定的逗号
【发布时间】:2018-02-28 10:02:13
【问题描述】:

我有一个类似

的输出
1054273,
1148244,
1174481,
1175759,
1180656,
1181151,

我需要删除末尾的逗号。

我试过代码:

str = str.replaceAll(", $", "");

但是输出显示好像所有的逗号都被删除了。

谁能帮我解决这个问题?

谢谢, SK

【问题讨论】:

标签: java selenium-webdriver


【解决方案1】:
String text = "1054273, 1148244, 1174481, 1175759, 1180656, 1181151,".trim();

if(text.endsWith(","))
   text = text.substring(0, text.lastIndexOf(","))

原始的text 被修剪以确保您没有尾随空格。假设您有一个有效长度的字符串。

【讨论】:

  • 如果末尾的逗号不存在怎么办,您的方法将删除另一个不应该删除的逗号
  • @Century 这个问题没有问这个。检查运行此代码的字符串是否以逗号结尾还有许多 其他原因。所以应该可以假设。
  • 问题要求删除尾随逗号,但并没有说它一定会存在(给出的例子只是一个例子),因此你不能做出这个假设。
  • @Century 不知道你是否说服了我,但至少你说服了我。添加了if
【解决方案2】:

如果你想删除一个字符,你为什么要replacing它?

说你要删除最后一个字符,因为事实上逗号在末尾(我猜它永远都是):

str = str.substring(0, str.length() - 1);

【讨论】:

    【解决方案3】:

    你可以像这样使用子字符串

      String str = "1054273, 1148244, 1174481, 1175759, 1180656, 1181151,";
                String output = str.substring(0, str.length()-1);
                System.out.println(output);
    

    输出是:

    1054273, 1148244, 1174481, 1175759, 1180656, 1181151
    

    或者如果你想创建一个自定义输出,你最好使用 split 并创建一个这样的字符串数组:

    String[] outputArrays = str.split(",");
            Arrays.asList(outputArrays).stream().forEach(System.out::println);
    

    输出是(你可以随意改变它):

     1054273
     1148244
     1174481
     1175759
     1180656
     1181151 
    

    【讨论】:

      【解决方案4】:

      在您的情况下,您可以简单地删除最后一个字符。

      带子字符串:

      str = str.substring(0, str.length() - 1);
      

      使用正则表达式:

      str = str.replaceAll(".$", "");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 2013-08-30
        相关资源
        最近更新 更多