-
首先,创建一个
Pattern
对象,使用正则表达式来定义匹配规则。正则表达式"^(.*?) + "[\\p{Punct}]"
表示:^
表示匹配字符串的开头(.*?)
使用非贪婪模式匹配任意数量的字符,并将其作为第一个捕获组[\\p{Punct}]
表示匹配一个标点符号
-
创建一个
Matcher
对象,使用输入字符串和上面创建的Pattern
进行匹配。 -
调用
matcher.find()
方法,尝试在输入字符串中寻找与正则表达式匹配的部分。 -
如果找到匹配项,调用
matcher.group(1)
获取第一个捕获组的内容,即符号之前的字符。 -
如果没有找到匹配项,则返回原始输入字符串。
public String extractFirstCharacterBeforeSymbol(String input) { Pattern pattern = Pattern.compile("^(.*?)" + "[\\p{Punct}]"); Matcher matcher = pattern.matcher(input); if (matcher.find()) { return matcher.group(1); } // 如果没有匹配到符号,则返回原始字符串 return input; }
12-28
814
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-07
1530
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交