你有什么想法我怎样才能在字符串的 second 点之后得到第一个字符。
String str1 = "test.1231.asdasd.cccc.2.a.2";
String str2 = "aaa.1.22224.sadsada";
在第一种情况下,我应该得到 a
,在第二种情况下,我应该得到 2
。
我想到了用点分隔字符串,并提取第三个元素的第一个字符。但这似乎很复杂,我认为有更好的方法。
最佳答案
这个正则表达式怎么样?
Pattern p = Pattern.compile(".+?\\..+?\\.(\\w)");
Matcher m = p.matcher(str1);
if (m.find()) {
System.out.println(m.group(1));
}
正则表达式表示:以非贪婪方式 (.+?
) 查找任何内容一次或多次,后面必须跟一个点 (\\.
),然后再以非贪婪的方式 (.+?
) 后跟一个点 (\\.
) 一次或多次。匹配后取第一组中的第一个单词字符 ((\\w)
)。
关于java - 如何在第二个点java之后找到第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52003152/