Java 当字符串的长度发生变化时,如何从字符串中提取数字?
我有一个字符串列表,比如Java 当字符串的长度发生变化时,如何从字符串中提取数字?,java,string,substring,Java,String,Substring,我有一个字符串列表,比如(q1,0)->(q2,uu,R),我需要选择q1,0,然后是q2,u,R。我会使用.substring(输入数字),但这些字符在列表中的位置会发生变化。例如,我还有(q11,1)->(q11,1,L)。因此,对于第一个字符串,我可以使用.substring(1,3)来获取q1,然后使用.substring(4,5)来获取0,但对于另一个字符串,我不能这样做 我的想法是,我可以找到字符串的长度,然后使用子字符串,每个长度有不同的数字。我想知道是否有更简单的方法来实现这一点
(q1,0)->(q2,uu,R)
,我需要选择q1,0,然后是q2,u,R。我会使用.substring(输入数字)
,但这些字符在列表中的位置会发生变化。例如,我还有(q11,1)->(q11,1,L)
。因此,对于第一个字符串,我可以使用.substring(1,3)来获取q1,然后使用.substring(4,5)来获取0,但对于另一个字符串,我不能这样做
我的想法是,我可以找到字符串的长度,然后使用子字符串,每个长度有不同的数字。我想知道是否有更简单的方法来实现这一点。您可以将正则表达式设置为
\\([^]+)\\)
输出:
q1,0
q2,_,R
正则表达式的内容如下:
\\(-character(
(-start match group
[-其中一个字符
^-不是以下字符
)-在前面的^中,这意味着“除外的每个字符”
+-来自[]集合的一个或多个内容
)-停止比赛组
\\)-文字结束语
q1,0
q2,_,R