java解析类似“0:ADD(10)”的字符串
我有一个像这样的字符串数组{0:ADD10,1:ADD20}我如何解析它并从这个字符串中得到值'10','20'java解析类似“0:ADD(10)”的字符串,java,parsing,Java,Parsing,我有一个像这样的字符串数组{0:ADD10,1:ADD20}我如何解析它并从这个字符串中得到值'10','20' 场景是:我正在尝试使用Apache Mina server编写客户端和服务器应用程序,当我在客户端和服务器之间发送消息时,得到的响应为0:ADD10您可以使用如下正则表达式: \\((\\d+)\\) 从括号之间提取数字。有关java正则表达式的更多信息,请参见 注意:由于java默认情况下在开头和结尾分别添加了^和$,因此我们必须在要匹配的模式之前和之后添加。* String[]
场景是:我正在尝试使用Apache Mina server编写客户端和服务器应用程序,当我在客户端和服务器之间发送消息时,得到的响应为0:ADD10您可以使用如下正则表达式:
\\((\\d+)\\)
从括号之间提取数字。有关java正则表达式的更多信息,请参见
注意:由于java默认情况下在开头和结尾分别添加了^和$,因此我们必须在要匹配的模式之前和之后添加。*
String[] str = new String[]{"0:ADD(10)","1:ADD(20)"};
Pattern pattern = Pattern.compile("^.*\\((\\d+)\\).*$");
for (int i = 0; i < str.length; i++)
{
Matcher m = pattern.matcher(str[i]);
System.out.println(m.matches());
System.out.println(m.group(1));
}
印刷品:
真的
十,
真的
二十
您可以使用如下正则表达式:
\\((\\d+)\\)
从括号之间提取数字。有关java正则表达式的更多信息,请参见
注意:由于java默认情况下在开头和结尾分别添加了^和$,因此我们必须在要匹配的模式之前和之后添加。*
String[] str = new String[]{"0:ADD(10)","1:ADD(20)"};
Pattern pattern = Pattern.compile("^.*\\((\\d+)\\).*$");
for (int i = 0; i < str.length; i++)
{
Matcher m = pattern.matcher(str[i]);
System.out.println(m.matches());
System.out.println(m.group(1));
}
印刷品:
真的
十,
真的
二十
你可以试试
int num = Integer.parseInt("0:ADD(10)".split("[()]")[1]);
你可以试试
int num = Integer.parseInt("0:ADD(10)".split("[()]")[1]);
这一行完成以下工作:
String[] arr = str.replace("{", "").replace("}", "").replaceAll("\"\\d+:ADD\\((\\d+)\\)\"", "$1").split(",");
这一行完成以下工作:
String[] arr = str.replace("{", "").replace("}", "").replaceAll("\"\\d+:ADD\\((\\d+)\\)\"", "$1").split(",");
可能有点过分,但这应该行得通
String input="{\"0:ADD(10)\",\"1:ADD(20)\"}";
Pattern r= Pattern.compile(":ADD\\(([0-9]*)\\)");
Matcher m = r.matcher(input);
while(m.find()){
System.out.println(m.group(1)); //Result is here
}
可能有点过分,但这应该行得通
String input="{\"0:ADD(10)\",\"1:ADD(20)\"}";
Pattern r= Pattern.compile(":ADD\\(([0-9]*)\\)");
Matcher m = r.matcher(input);
while(m.find()){
System.out.println(m.group(1)); //Result is here
}
使用:
使用:
对于回复,我怀疑天气是否可以使用正则表达式。对于回复,我怀疑天气是否可以使用正则表达式