Java中找到指定字符串后面最近的数值文本,可以使用正则表达式或者字符串处理方法。以下是使用字符串处理方法的示例代码:
public class Main {
public static void main(String[] args) {
String input = "在这个字符串中找到指定字符串后的最近数值文本:指定字符串 123,随后的数值是 456.78。";
String targetString = "指定字符串";
int startIndex = input.indexOf(targetString);
if (startIndex != -1) {
// 找到目标字符串后的部分
String substringAfterTarget = input.substring(startIndex + targetString.length());
// 使用正则表达式匹配第一个数值
String regex = "\\d+(\\.\\d+)?";
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(regex);
java.util.regex.Matcher matcher = pattern.matcher(substringAfterTarget);
if (matcher.find()) {
String numberText = matcher.group();
System.out.println("找到的数值文本是: " + numberText);
// 获取数值文本的起始下标
int numberStartIndex = startIndex + targetString.length() + substringAfterTarget.indexOf(numberText);
System.out.println("数值文本的起始下标是: " + numberStartIndex);
} else {
System.out.println("未找到指定字符串后的数值文本。");
}
} else {
System.out.println("未找到指定字符串。");
}
}
}