java 获取前后没有特殊字段的数字
时间: 2024-10-12 11:09:17 浏览: 9
在Java中,如果你想要获取一个字符串中前后没有特殊字符(如非数字、字母或特定符号)的连续数字序列,你可以使用正则表达式结合`substring()`函数来实现。下面是一个简单的示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str = "Hello! 123World$456Special789"; // 输入字符串
Pattern pattern = Pattern.compile("\\b\\d+\\b"); // 匹配数字的正则表达式
Matcher matcher = pattern.matcher(str);
if (matcher.find()) { // 如果找到匹配项
int start = matcher.start(); // 获取第一个数字的起始位置
int end = matcher.end() - 1; // 获取最后一个数字的结束位置(减一避免包括结尾的特殊字符)
// 提取有效数字串
String digitsOnly = str.substring(start, end + 1);
System.out.println("连续数字:" + digitsOnly);
} else {
System.out.println("没有找到连续的数字");
}
}
}
```
在这个例子中,`\\b\\d+\\b` 是一个正则表达式模式,`\b` 表示单词边界,`\d+` 表示一个或多个数字。程序会查找输入字符串中的所有连续数字,并打印出来。
阅读全文