如何从java字符串中获取连字符之前的所有整数
我想通过连字符进行解析,答案应该是01(整数),在java中解析的最佳方式是什么如何从java字符串中获取连字符之前的所有整数,java,regex,Java,Regex,我想通过连字符进行解析,答案应该是01(整数),在java中解析的最佳方式是什么 public static String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]"; 请帮助我。将下面的正则表达式与Pattern和matcher类一起使用 Pattern.compile("\\d+(?=-)"); \\d+-匹配一个或多个数字+将上一个标记\\d(与数字字符匹配)重复一次或多次 (?=-)-仅当后跟连字符时(?=-)称为
public static String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]";
请帮助我。将下面的正则表达式与Pattern和matcher类一起使用
Pattern.compile("\\d+(?=-)");
\\d+
-匹配一个或多个数字+
将上一个标记\\d
(与数字字符匹配)重复一次或多次
(?=-)
-仅当后跟连字符时(?=-)
称为正向前瞻断言,该断言断言匹配后必须跟一个-
符号
String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]";
Matcher m = Pattern.compile("\\d+(?=-)").matcher(str);
while(m.find())
{
System.out.println(m.group());
}
将下面的正则表达式与Pattern和matcher类一起使用
Pattern.compile("\\d+(?=-)");
\\d+
-匹配一个或多个数字+
将上一个标记\\d
(与数字字符匹配)重复一次或多次
(?=-)
-仅当后跟连字符时(?=-)
称为正向前瞻断言,该断言断言匹配后必须跟一个-
符号
String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]";
Matcher m = Pattern.compile("\\d+(?=-)").matcher(str);
while(m.find())
{
System.out.println(m.group());
}
一种懒惰的方法:如果您已经知道字符串的模式,那么使用substring和indexof来定位您的单词
String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]";
integer int1 = Integer.parseInt(str.substring(str.indexOf("["),str.indexOf("-S1")));
依此类推。一种懒惰的方法:如果您已经知道字符串的模式,请使用substring和indexof来定位您的单词
String str ="[0-S1|0-S2|1-S3, 1-S1|0-S2|0-S3, 0-S1|1-S2|0-S3]";
integer int1 = Integer.parseInt(str.substring(str.indexOf("["),str.indexOf("-S1")));
等等。请向我们提供您迄今为止为实现所需功能所做的尝试。我尝试了一些String[]parts=str.split[“-”]etc请向我们提供您迄今为止为实现所需功能所做的尝试。我尝试了一些String[]parts=str.split[“-”]etc您可以详细介绍一下吗,我是java新手。你能详细介绍一下吗,我是java新手。