在Java正则表达式中提取字符串和其他字符串之间的数字
我有这样一个字符串:meetingDes32-2或meetingDes55-5或meetingDes354-74,例如。我需要的是提取文本meetingDes和-2之间的数字。在这3个例子中,我需要的是:32、55和354 我不熟悉正则表达式 多谢各位在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
(?<=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如果有人对正则表达式不熟悉,那么用明文提问可能更明智