java解析像 "0:ADD(10)"这样的字符串

标签 java parsing

我有一个像这样的字符串数组 {"0:ADD(10)","1:ADD(20)"} 我如何解析它并从这个字符串中获取值 '10','20' ,

场景是:我正在尝试使用 Apache Mina 服务器编写一个客户端和服务器应用程序,当我在客户端和服务器之间发送消息时,我收到的响应为“0:ADD(10)”

最佳答案

你可以像这样使用正则表达式:

\\((\\d+)\\)

从括号中提取数字。有关 java 正则表达式的更多信息,请参见 herehere 注意:由于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));
        }

打印:

true

10

true

20

关于java解析像 "0:ADD(10)"这样的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438921/

相关文章:

java - 幽灵4J。 java.lang.UnsatisfiedLinkError : Unable to load library 'gsdll64'

java - java中真正的长类型范围是什么?

Python 和解析 IRC 消息

mysql - 'ER_PARSE_ERROR' 因为 ?在使用 MySQL 的 url 参数中

Java飞行记录器以编程方式解析

objective-c - 解析 Objective-C 代码进行静态分析

java - 使用 Web 驱动程序 Selenium 和 JSoup 进行分页

java - 在 Java 文本文件中保存换行符

java - 图像未加载

java - 如何在 GUI 中生成随机数?