Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图从字符串中提取某些数字_Java_Arrays_Regex - Fatal编程技术网

Java 试图从字符串中提取某些数字

Java 试图从字符串中提取某些数字,java,arrays,regex,Java,Arrays,Regex,我有一串数字,看起来像这样 ["100000100685716-2","603834770-2", "604544970-3"] 有人能帮我找到一个正则表达式来匹配每个长字符(第一个数字在“-”之前),这样我就可以将它添加到数组中了吗?这里不需要正则表达式: 使用int pos=str.indexOf('-')获取破折号的位置 使用str.substring(0,pos)获取字符串的初始部分 如果输入字符串中的破折号是可选的,则需要添加对pos的检查以使其非负。此处不需要正则表达式:

我有一串数字,看起来像这样

 ["100000100685716-2","603834770-2", "604544970-3"]

有人能帮我找到一个正则表达式来匹配每个长字符(第一个数字在“-”之前),这样我就可以将它添加到数组中了吗?

这里不需要正则表达式:

  • 使用
    int pos=str.indexOf('-')
    获取破折号的位置
  • 使用
    str.substring(0,pos)
    获取字符串的初始部分

如果输入字符串中的破折号是可选的,则需要添加对
pos
的检查以使其非负。

此处不需要正则表达式:

  • 使用
    int pos=str.indexOf('-')
    获取破折号的位置
  • 使用
    str.substring(0,pos)
    获取字符串的初始部分

如果输入字符串中的破折号是可选的,则需要添加对
pos
的检查以使其非负。

此处不需要正则表达式:

  • 使用
    int pos=str.indexOf('-')
    获取破折号的位置
  • 使用
    str.substring(0,pos)
    获取字符串的初始部分

如果输入字符串中的破折号是可选的,则需要添加对
pos
的检查以使其非负。

此处不需要正则表达式:

  • 使用
    int pos=str.indexOf('-')
    获取破折号的位置
  • 使用
    str.substring(0,pos)
    获取字符串的初始部分

如果输入字符串中的破折号是可选的,您需要添加一个非负的“
pos”检查。

以下正则表达式应该工作:
(\d+)-
以下正则表达式应该工作:
(\d+)-
以下正则表达式应该工作:
(\d+)-
以下正则表达式应该工作:
(\d+)-

这应该正是你想要的

String s = "[\"100000100685716-2\",\"603834770-2\", \"604544970-3\"]";
System.out.println(s.split("-")[0].substring(2));
这应该正是你想要的

String s = "[\"100000100685716-2\",\"603834770-2\", \"604544970-3\"]";
System.out.println(s.split("-")[0].substring(2));
这应该正是你想要的

String s = "[\"100000100685716-2\",\"603834770-2\", \"604544970-3\"]";
System.out.println(s.split("-")[0].substring(2));


这正是你想要的

是的,有人可以帮助你。请说明您尝试了什么,以及为什么它不起作用。当regex看起来像
str.split(“-”[0]
会起作用时,为什么要使用regex?(以及
Long.parseLong()
)您发布的内容看起来像一个字符串数组。这应该是你们的成果吗?谢谢你们的帮助,伙计们,我找到了我想要的:)是的,有人可以帮你们。请说明您尝试了什么,以及为什么它不起作用。当regex看起来像
str.split(“-”[0]
会起作用时,为什么要使用regex?(以及
Long.parseLong()
)您发布的内容看起来像一个字符串数组。这应该是你们的成果吗?谢谢你们的帮助,伙计们,我找到了我想要的:)是的,有人可以帮你们。请说明您尝试了什么,以及为什么它不起作用。当regex看起来像
str.split(“-”[0]
会起作用时,为什么要使用regex?(以及
Long.parseLong()
)您发布的内容看起来像一个字符串数组。这应该是你们的成果吗?谢谢你们的帮助,伙计们,我找到了我想要的:)是的,有人可以帮你们。请说明您尝试了什么,以及为什么它不起作用。当regex看起来像
str.split(“-”[0]
会起作用时,为什么要使用regex?(以及
Long.parseLong()
)您发布的内容看起来像一个字符串数组。这应该是你的输出吗?谢谢大家的帮助,我找到了我要找的:)这个答案会在字符串中找到“-”,而且,我相信他不想要“-”号。@IronWilliamCash这是括号的重点;只有数字会被捕获。嗯,我的正则表达式应用程序也在拾取“-”号。。。weird@IronWilliamCash该正则表达式将匹配
-
,但它还应该创建一个只包含
\d+
的组。该答案将在字符串中选择“-”,而且,我相信他不需要“-”符号。@IronWilliamCash,这是括号的重点;只有数字会被捕获。嗯,我的正则表达式应用程序也在拾取“-”号。。。weird@IronWilliamCash该正则表达式将匹配
-
,但它还应该创建一个只包含
\d+
的组。该答案将在字符串中选择“-”,而且,我相信他不需要“-”符号。@IronWilliamCash,这是括号的重点;只有数字会被捕获。嗯,我的正则表达式应用程序也在拾取“-”号。。。weird@IronWilliamCash该正则表达式将匹配
-
,但它还应该创建一个只包含
\d+
的组。该答案将在字符串中选择“-”,而且,我相信他不需要“-”符号。@IronWilliamCash,这是括号的重点;只有数字会被捕获。嗯,我的正则表达式应用程序也在拾取“-”号。。。weird@IronWilliamCash该正则表达式将匹配
-
,但它还应该创建一个只包含
\d+
的组
String s = "[\"100000100685716-2\",\"603834770-2\", \"604544970-3\"]";
System.out.println(s.split("-")[0].substring(2));