用数字组拆分驼峰式文本
Split camel case text with number groups
我有包含驼峰式文本和数字的字符串,我想拆分它。
例如字符串 "abcDefGhi345J6"
应拆分为
["abc", "Def", "Ghi", "345", "J", "6"]
我最大的努力是
"abcDefGhi345J6".split("(?=\p{Lu})|(?!\p{Lu})(?=\d+)")
这给了我
["abc", "Def", "Ghi", "3", "4", "5", "J", "6"]
PS:欺骗标记的答案没有给出预期的输出,因为它们不是 Unicode 不可知论者。
您可以使用此正则表达式进行拆分:
(?=\p{Lu})|(?<!\d)(?=\d)
对于Java代码:
String[] arr = string.split("(?=\p{Lu})|(?<!\d)(?=\d)");
(?<!\d)(?=\d)
会找到前面有数字但后面没有数字的位置。
我有包含驼峰式文本和数字的字符串,我想拆分它。
例如字符串 "abcDefGhi345J6"
应拆分为
["abc", "Def", "Ghi", "345", "J", "6"]
我最大的努力是
"abcDefGhi345J6".split("(?=\p{Lu})|(?!\p{Lu})(?=\d+)")
这给了我
["abc", "Def", "Ghi", "3", "4", "5", "J", "6"]
PS:欺骗标记的答案没有给出预期的输出,因为它们不是 Unicode 不可知论者。
您可以使用此正则表达式进行拆分:
(?=\p{Lu})|(?<!\d)(?=\d)
对于Java代码:
String[] arr = string.split("(?=\p{Lu})|(?<!\d)(?=\d)");
(?<!\d)(?=\d)
会找到前面有数字但后面没有数字的位置。