我正在尝试使用正则表达式来使用元音或特殊字符拆分字符串。
maxtin'asiiro
[ ma, xti, n', a, si, i, ro]
,
现在,我已经成功地使用元音分割字符串。
Arrays.toString(word.split("(?<=[aeiou])")));
但是,我不知道如何将特殊字符n'
合并到正则表达式中以获得上述输出。
注意:此处的n'
在拆分时应被视为单个特殊字符。
我尝试了以下方法,但由于输出错误而失败。
Arrays.toString(word.split("(?<=[aeiou(n')])")));
有人能给我指点一下吗?
发布于 2018-06-03 23:03:32
如果n'
是您要用于拆分的唯一特殊序列,您可以尝试在备用序列上拆分:
String word = "maxtin'asiiro";
System.out.println(Arrays.toString(word.split("(?<=[aeiou]|n')")));
[ma, xti, n', a, si, i, ro]
发布于 2018-06-03 23:08:03
与指定n'
事件不同,我会采用一种更通用的方法,包括'
字符之前的任何字母。
String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou]|[a-zA-Z]')");
[ma, xti, n', a, si, i, ro]
格式的结果
更重要的是:
|
用作()
brackets[a-zA-Z]'
代表any
letter和'
character之间的标记的或运算符
演示是ar Regex101。注意元音或字母后面紧跟'
字符的字符之间的紫色分隔符。
发布于 2018-06-04 05:50:33
除了Nikolas的回答,如果你想拆分元音后面或任何字符后面跟一个',你也可以测试以下输入样本:
String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou'])");
唯一的区别是‘是不是第一个字符
https://stackoverflow.com/questions/50667755
复制相似问题