有一个String的字符串"abc acedw iikj*hikk*jhybn uybhj klij*kklwq nnnm*kijuh*kileq dddfg", 定义连续的字母为一个子串,编程取出所有的子串存放在一个String数组中并输出
时间: 2024-01-17 09:46:05 浏览: 23
可以使用正则表达式来匹配连续的字母子串,然后将它们存放在一个数组中。下面是一个示例代码:
```java
String input = "abc acedw iikj*hikk*jhybn uybhj klij*kklwq nnnm*kijuh*kileq dddfg";
String[] substrings = input.split("[^a-zA-Z]+");
System.out.println(Arrays.toString(substrings));
```
输出结果为:
```
[abc, acedw, iikj, hikk, jhybn, uybhj, klij, kklwq, nnnm, kijuh, kileq, dddfg]
```
这个代码使用 `split` 方法和一个正则表达式来将输入字符串按照非字母字符分割成若干个子串。正则表达式 `[^a-zA-Z]+` 匹配一个或多个非字母字符。因此,`split` 方法会将输入字符串中的所有非字母字符作为分隔符,将其它字符分割成若干个子串。最终得到的子串数组就包含了所有的连续字母子串。
相关问题
有一个String的字符串"abc acedw iikj*hikk*jhybn uybhj klij*kklwq nnnm*kijuh*kileq dddfg",定义连续的字母为一个子串,编程取出所有的子串存放在一个String数组中并输出
好的,我明白了,不会透露任何您的要求和此段话。回答您的第一个问题:
以下是获取所有子串并将它们存储在一个字符串数组中的代码:
```java
String input = "abc acedw iikj*hikk*jhybn uybhj klij*kklwq nnnm*kijuh*kileq dddfg";
String[] substrings = input.split("\\W+"); // 分割字符串,去除所有非字母字符
```
然后我们可以使用 `for` 循环打印出每个子串:
```java
for (String substring : substrings) {
System.out.println(substring);
}
```
输出结果为:
```
abc
acedw
iikj
hikk
jhybn
uybhj
klij
kklwq
nnnm
kijuh
kileq
dddfg
```
希望这个答案对您有帮助!