java如何将字符串以[ ]分割开来,例如:[SHIEL][WBUHAO][NIHAO1]
时间: 2023-08-17 16:11:34 浏览: 73
你可以使用 Java 中的字符串分割方法 `String.split()` 来实现。因为方括号 `[ ]` 是正则表达式中的特殊字符,所以在分割时需要使用转义字符 `\\` 将其转义。以下是一个示例代码:
```java
public class StringSplitter {
public static void main(String[] args) {
String input = "[SHIEL][WBUHAO][NIHAO1]";
String[] result = input.split("\\[|\\]");
for (String s : result) {
if (!s.isEmpty()) {
System.out.println(s);
}
}
}
}
```
输出结果如下:
```
SHIEL
WBUHAO
NIHAO1
```
在上面的示例代码中,我们首先定义了一个字符串 `input`,它包含了多个方括号括起来的字符串。然后使用 `split("\\[|\\]")` 方法将字符串按照方括号分割成多个子字符串,并将结果保存到一个字符串数组 `result` 中。
由于 `split()` 方法会将分割符作为一个空字符串插入到结果数组中,所以在输出时需要检查每个字符串是否为空字符串,如果是就跳过不输出。
相关问题
java如何将字符串以[ ]分割开来并保留[ ],如:[SHIEL][WBUHAO]
你可以使用 Java 的正则表达式来匹配方括号,然后使用 `String.split()` 方法分割字符串。以下是一个示例代码:
```java
public class StringSplitter {
public static void main(String[] args) {
String input = "[SHIEL][WBUHAO]";
String[] result = input.split("(?<=\\])");
for (String s : result) {
System.out.println(s);
}
}
}
```
输出结果如下:
```
[SHIEL]
[WBUHAO]
```
在上面的示例代码中,我们使用了正则表达式 `"(?<=\\])"` 来匹配右方括号,并在它前面加上一个非捕获组,表示该位置必须是右方括号的位置。这样,`split()` 方法就只会在右方括号后面分割字符串,保留了方括号。
需要注意的是,在输出时,每个字符串都包含了方括号,包括左右两个方括号。如果不需要左方括号,可以在输出时去掉它,例如使用 `substring()` 方法。
阅读全文