【问题标题】:Replacing the parentheses in a string [duplicate]替换字符串中的括号[重复]
【发布时间】:2018-03-03 17:48:17
【问题描述】:

我从服务器收到这样的响应“[61]”我想去掉括号并只保留数字。

这是我做的,但这不适用于动态响应,它只适合静态数字,但如果数字变大,这不起作用

@Override
public void onResponse(String response) {
    StringBuffer sb = new StringBuffer(response);

    sb.deleteCharAt(0);
    sb.deleteCharAt(7);
    numberofvotes.setText("Counts : " + sb.toString().trim());
}

如何删除字符串中任意位置的括号?

【问题讨论】:

    标签: java regex


    【解决方案1】:

    要只保留数字,您可以使用String::replaceAll,它使用这样的正则表达式:

    //response = "[ 61 ]";
    response.replaceAll("[^\\d]", ""); // Output '61'
    

    这意味着替换所有非数字。

    或者像Pshemo提到你可以使用:

    response.replaceAll("\\D", ""); 
    

    【讨论】:

    • 顺便说一句,这种否定也存在于其他预定义的字符集。例如\s vs \S,甚至是\p{name} vs \P{name}
    猜你喜欢
    • 1970-01-01
    • 2021-12-01
    • 2018-12-26
    • 2015-04-16
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2021-07-06
    相关资源
    最近更新 更多