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
  • [-其中一个字符

  • ^-不是以下字符

  • )-在前面的^中,这意味着“除外的每个字符”

  • +-来自[]集合的一个或多个内容

  • )-停止比赛组

  • \\)-文字结束语


使用正则表达式来消除诸如()->等字符。请给出一个具体的示例,确切地说明您需要什么want@AustinStory,你能检查一下这是你期望的还是其他什么吗?看起来不错!我过去用过regex,但理解起来有困难。非常感谢!
q1,0
q2,_,R