java - 使用正则表达式从 java 中的字符串中提取序列

标签 java regex

我有一个带有图案的日志。事情是在最后,它与常规有点不同。

a>  nc,71802265,0,"Tuesday, June 26, 2012 09:06:49 UTC",38.8335,-122.8072,1.6,0.00,21,"Northern California"
b>  ci,11127314,0,"Tuesday, June 26, 2012 08:37:52 UTC",34.2870,-118.3360,2.2,10.20,100,"Greater Los Angeles area, California"
c>  us,b000aqpn,6,"Tuesday, June 26, 2012 08:29:55 UTC",53.4819,-165.2794,4.4,25.60,96,"Fox Islands, Aleutian Islands, Alaska"

String regex = "^\\"[a-z,A-Z]\\s*\\(,)*[a-z,A-Z]\\"";
Pattern p = Pattern.compile(regex, Pattern.MULTILINE);

来 self 需要的---“北加州” 来自 b 我需要---“加利福尼亚州大洛杉矶地区”等等

谢谢

最佳答案

您可以使用String#lastIndexOf ,从倒数第二个字符开始查找第一个":

    String s = "a>  nc,71802265,0,\"Tuesday, June 26, 2012 09:06:49 UTC\",38.8335,-122.8072,1.6,0.00,21,\"Northern California\"";
    int start = s.lastIndexOf("\"", s.length() - 2) + 1;
    String location = s.substring(start, s.length() - 1);

关于java - 使用正则表达式从 java 中的字符串中提取序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394557/

相关文章:

java - 即使使用 session.load(),Hibernate 也会忽略 @Fetch(FetchMode.JOIN)

java - build.gradle中的依赖是自动生成的吗?

java - 如何使用正则表达式处理字符串

python - 正则表达式拆分为多行

java - Dr. Java 中的多个类

java - 如何提高 Flink 中数据流实现的不同计数?

python - 如何正确测试模式中的有效字符,可能使用字符数组或其他一些方法(正则表达式)

python - 如何删除Python中两个特定单词之间的文本

java - 防止矩形重叠

php - 如何将内联 css 更改为自由属性