我正在尝试使用正则表达式使用元音或特殊字符拆分字符串。
maxtin'asiiro
[ ma, xti, n', a, si, i, ro]
现在我已设法使用元音拆分字符串。
Arrays.toString(word.split("(?<=[aeiou])")));
但是,我不知道如何将特殊字符n'
合并到正则表达式以获得上述输出。
注意:n'
此处应在拆分时视为单个特殊字符。
我尝试了以下操作,但输出错误。
Arrays.toString(word.split("(?<=[aeiou(n')])")));
有人可以给我一个指针吗?
答案 0 :(得分:5)
如果n'
是您要用于拆分的唯一特殊序列,您可以尝试拆分替换:
String word = "maxtin'asiiro";
System.out.println(Arrays.toString(word.split("(?<=[aeiou]|n')")));
[ma, xti, n', a, si, i, ro]
答案 1 :(得分:4)
与指定n'
事件不同,我会采用更通用的方法,包括'
字符之前的任何字母。
String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou]|[a-zA-Z]')");
[ma, xti, n', a, si, i, ro]
Nore认为:
|
作为()
括号[a-zA-Z]'
代表any
字母和'
字符演示是ar Regex101。请注意字符之后的字符之间的紫色分隔符,后面跟着'
字符。
答案 2 :(得分:0)
添加到Nikolas&#39;回答,如果您想在元音后面分割或任何字符后跟一个&#39;,您还可以针对您的输入样本测试以下内容:
String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou'])");
唯一的区别是,如果&#39;是第一个角色