Java 拆分字母和数字中的字符串
有人能帮我学点正则表达式吗。 我想把下面的字符串分成字母和数字 范例 字符串Java 拆分字母和数字中的字符串,java,regex,string,split,Java,Regex,String,Split,有人能帮我学点正则表达式吗。 我想把下面的字符串分成字母和数字 范例 字符串ns01sp0001拆分后应 ns01sp和0001 我试着用下面的正则表达式 String array[] = str.split("[^A-Z0-9]+|(?<=[A-Z])(?=[0-9])|(?<=[0-9])(?=[A-Z])"); 但对于小写,它是返回 [NS, 01, SP, 0001] [, 01, 0001] // not able to get alphabet. 有什么方法可以像这
ns01sp0001
拆分后应
ns01sp
和0001
我试着用下面的正则表达式
String array[] = str.split("[^A-Z0-9]+|(?<=[A-Z])(?=[0-9])|(?<=[0-9])(?=[A-Z])");
但对于小写,它是返回
[NS, 01, SP, 0001]
[, 01, 0001] // not able to get alphabet.
有什么方法可以像这样获得输出吗
[NS01SP,0001] // if input = NS01SP0001
[ns01sp,0001] //if input = ns01sp0001.
您可以使用:
String tok[] = str.split("(?<=\\D)(?=\\d+\\b)");
String tok[]=str.split((?总是有两个元素吗?如果没有,根据什么规则01
成为ns01sp
的一部分而不是它自己的元素?您的字符串有固定长度吗?或者eyerytime 4个数字在末尾吗?根据问题分析,它可能是动态的添加(?)
用于大写和小写。字符串数组[]=str.split((?i)[^A-Z0-9]+|(?@Zorian)不是固定长度。它可以是任何长度。常规格式。