java 获取string 遍历8位数字
时间: 2024-02-09 17:10:41 浏览: 145
如果你想从一个字符串中获取8位数字并进行遍历,可以使用正则表达式的方式来实现。具体代码如下:
```
String str = "这是一个123456789的字符串,里面还有98765432";
Pattern pattern = Pattern.compile("\\d{8}");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String matchStr = matcher.group();
for (int i = 0; i < matchStr.length(); i++) {
char ch = matchStr.charAt(i);
System.out.println(ch);
}
}
```
这里的正则表达式 "\\d{8}" 表示匹配8个数字,然后用 Matcher 对象对字符串进行匹配。如果匹配成功,就获取匹配到的字符串,然后对其进行遍历输出。
相关问题
JAVA map倒序遍历
在 Java 中,可以使用 TreeMap 来实现 Map 的倒序遍历。TreeMap 会按照 key 的自然顺序排序(如果 key 是数字,则按照数字大小排序;如果 key 是字符串,则按照字典顺序排序)。如果需要倒序遍历,只需要使用 TreeMap 的 descendingMap() 方法获取一个倒序的 Map。下面是示例代码:
```
import java.util.TreeMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建一个 TreeMap,并向其中添加一些元素
TreeMap<String, Integer> map = new TreeMap<>();
map.put("apple", 10);
map.put("orange", 5);
map.put("banana", 8);
// 获取一个倒序的 Map
Map<String, Integer> descendingMap = map.descendingMap();
// 遍历倒序的 Map
for (Map.Entry<String, Integer> entry : descendingMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果为:
```
orange: 5
banana: 8
apple: 10
```
java 遍历字符串中8位连续数字
可以使用正则表达式来匹配字符串中的8位连续数字,并遍历输出。具体代码如下:
```
String str = "这是一个123456789的字123符串,45678901也在里面";
Pattern pattern = Pattern.compile("(?<=\\D)\\d{8}(?=\\D)");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String matchStr = matcher.group();
for (int i = 0; i < matchStr.length(); i++) {
char ch = matchStr.charAt(i);
System.out.println(ch);
}
}
```
这里的正则表达式 "(?<=\\D)\\d{8}(?=\\D)" 表示匹配一个前后都不是数字的8位数字。其中,"(?<=\\D)" 表示匹配前面不是数字的位置,"(?=\\D)" 表示匹配后面不是数字的位置。
使用 Matcher 对象对字符串进行匹配,如果匹配成功,就获取匹配到的字符串,然后对其进行遍历输出。
阅读全文