Java 从返回的字符串中删除括号

Java 从返回的字符串中删除括号,java,json,selenium,testing,ui-testing,Java,Json,Selenium,Testing,Ui Testing,我目前在selenium测试中调用了一个json,它们以[4534535]的形式返回,我想去掉括号,只留下4534535,但我目前使用的代码似乎没有这样做,我找不到解决方案 目前我正在使用 String[] tmp = response_body_string.split("[\\[\\]]"); String val2 = tmp[0]; val3 = val2.replaceAll("[^0-9]", ""); String[] tmp = response_body_string.spl

我目前在selenium测试中调用了一个json,它们以[4534535]的形式返回,我想去掉括号,只留下4534535,但我目前使用的代码似乎没有这样做,我找不到解决方案

目前我正在使用

String[] tmp = response_body_string.split("[\\[\\]]");
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");
String[] tmp = response_body_string.split(",");
tmp = tmp[1].split(",");
//Returns second game ID
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");
响应_body_string是我从json收到的(请不要这样,有时会返回一个代码列表,这就是为什么我使用string[] 但它似乎什么也没有返回,tmp[0]是问题的根源吗

Im尝试在另一个json中使用该代码,然后将字符串“4534535”传递给下一个json。当有多个代码编号时,我可以使用该代码,例如[334322113],因为Im使用

String[] tmp = response_body_string.split("[\\[\\]]");
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");
String[] tmp = response_body_string.split(",");
tmp = tmp[1].split(",");
//Returns second game ID
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");

如果我没弄错,您只想删除括号,只获取数字。您可以使用:

String[] tmp = response_body_string.split("[\\[\\]]");
String tmp = tmp[0].substring(1,tmp.length-1);
希望我没弄错

编辑:

如果
response\u body\u string
是一个字符串(我假设是,因为您使用的是string函数),您只需对其执行子字符串即可。如下所示:

String Final = response_body_string.substring(1,response_body_string.length-1);

您已接近最后一行的答案。您可以使用
replaceAll()
删除除数字和逗号以外的所有内容,然后进行拆分

String[]tmp=response\u body\u String.replaceAll(“[^0-9,]”,“,”).split(“,”);
尽管我建议您将其解析为JSON,以避免任何令人不快的意外。例如,您可以使用fasterxml的
com.fasterxml.jackson.databind.ObjectMapper

ObjectMapper mapper=new ObjectMapper();
List tmp=mapper.readValue(response_body_string,new TypeReference(){});

用一个完整的json示例编辑问题,该json示例是您想要删除方括号和想要的结果,我尝试了val3=val2.replaceAll(“[\\\\p{Ps}\\\\p{Pe}]”),但似乎再次没有返回任何内容;将返回123124321524这是一个XY问题。您真正想要回答的问题是如何从json解析值…删除带有正则表达式的括号只是您尝试的解决方案不正确的问题。