Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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/4/regex/17.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_Regex - Fatal编程技术网

在Java正则表达式中提取字符串和其他字符串之间的数字

在Java正则表达式中提取字符串和其他字符串之间的数字,java,regex,Java,Regex,我有这样一个字符串:meetingDes32-2或meetingDes55-5或meetingDes354-74,例如。我需要的是提取文本meetingDes和-2之间的数字。在这3个例子中,我需要的是:32、55和354 我不熟悉正则表达式 多谢各位 (?<=meetingDes)\\d+\\b 这应该对你有用 见演示 这应该对你有用 见演示 由于字符串不包含任何其他内容,只需将不需要的位替换为零,然后使用剩余的内容: String s = "meetingDes32-2"; int

我有这样一个字符串:meetingDes32-2或meetingDes55-5或meetingDes354-74,例如。我需要的是提取文本meetingDes和-2之间的数字。在这3个例子中,我需要的是:32、55和354

我不熟悉正则表达式

多谢各位

(?<=meetingDes)\\d+\\b
这应该对你有用

见演示

这应该对你有用

见演示


由于字符串不包含任何其他内容,只需将不需要的位替换为零,然后使用剩余的内容:

String s = "meetingDes32-2";
int num = Integer.parseInt(s.replaceAll("meetingDes|-.*", ""));
System.out.println(num); // 32

由于字符串不包含任何其他内容,只需将不需要的位替换为零,然后使用剩余的内容:

String s = "meetingDes32-2";
int num = Integer.parseInt(s.replaceAll("meetingDes|-.*", ""));
System.out.println(num); // 32

如果您觉得正则表达式很难,另一种方法是:

int end = indexOf('-');
int startIndex = 10;
String result = meetingDesString.substring(startIndex ,end);

如果您觉得正则表达式很难,另一种方法是:

int end = indexOf('-');
int startIndex = 10;
String result = meetingDesString.substring(startIndex ,end);

这个数字总是介于meetingDes和-?你的字符串是否只包含meetingDes 32-2等,或者这是一个更大的字符串的一部分?是的,Boann,tex是固定的唯一可以更改的部分是数字32-2或42-25,我需要的是前面的数字的第一部分,在这种情况下是-2和-25?@AvinashRaj如果有人不熟悉正则表达式,那么,用明文提问可能更明智,因为数字总是介于meetingDes和-?字符串是否只包含meetingDes32-2等,或者这是一个更大字符串的一部分?是的,Boann the tex是固定的唯一可以更改的部分是数字32-2或42-25,我需要的是之前的数字的第一部分,在这种情况下是-2和-25?@AvinashRaj如果有人对正则表达式不熟悉,那么用明文提问可能更明智