java截取字符串中所有id内容以分号分隔的在数组中
时间: 2024-02-21 14:58:40 浏览: 70
Java截取中英文混合字符串的方法
如果你要从一个字符串中截取所有的id内容,并将这些id存放在一个数组中,可以使用 Java 正则表达式来匹配字符串中的id。示例代码如下:
```java
String str = "这是一个字符串,其中包含id为1、2、3的内容";
Pattern pattern = Pattern.compile("\\b(id\\s*:\\s*\\d+)\\b"); // 匹配形如 "id: 1" 的内容
Matcher matcher = pattern.matcher(str);
List<String> idList = new ArrayList<>();
while (matcher.find()) {
String id = matcher.group(1); // 获取第一个匹配项,即形如 "id: 1" 的内容
idList.add(id.replaceAll("\\D", "")); // 将所有非数字字符替换为空字符,只保留数字部分
}
String[] ids = idList.toArray(new String[0]); // 将List转换为数组
System.out.println(Arrays.toString(ids)); // 打印结果
```
其中,正则表达式 `\\b(id\\s*:\\s*\\d+)\\b` 匹配形如 "id: 1" 的内容。`matcher.group(1)` 获取第一个匹配项,即形如 "id: 1" 的内容。`id.replaceAll("\\D", "")` 将所有非数字字符替换为空字符,只保留数字部分。最后,将 `List` 转换为数组即可。
阅读全文