我正在使用这个正则表达式:
x.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)
这将返回带有字母和/或数字的字符串数组.
如果我用这个:
String name = "CEN01_Automated_TestCase.java";
String[] names = name.Split.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)
我有:
CEN01
Automated
TestCase
Java
Run Code Online (Sandbox Code Playgroud)
但如果我用这个:
String name = "CEN01_Automação_Caso_Teste.java";
String[] names = name.Split.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)
我有:
CEN01
Automa
o
Caso
Teste
Java
Run Code Online (Sandbox Code Playgroud)
如何修改此正则表达式以包含重音字符?(á,ã,õ等......)
Psh*_*emo 10
来自http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
行为类似于方法的类别(已弃用的除外)可通过指定属性具有名称的相同语法获得.
java.lang.Character boolean ismethodname\p{prop}javamethodname
由于Characterclass包含isAlphabetic您可以使用的方法
name.split("[^\\p{IsAlphabetic}0-9']+");
Run Code Online (Sandbox Code Playgroud)
你也可以使用
name.split("(?U)[^\\p{Alpha}0-9']+");
Run Code Online (Sandbox Code Playgroud)
但是你需要使用UNICODE_CHARACTER_CLASS可以通过(?U)在正则表达式中添加来使用的标志.
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |