如果有个字符串123421|""abcdefgh""|||werji|""12345432""|, 如何分别根据|"" 和 ""| 进行分割 用java 中string的split方法表达
时间: 2023-07-03 09:25:51 浏览: 49
可以直接使用 Java 的 String 的 split() 方法对字符串进行分割,分别按照 |"" 和 ""| 进行分割,具体实现如下:
```java
String s = "123421|\"\"abcdefgh\"\"|||werji|\"\"12345432\"\"|";
String[] result = s.split("\\|\"\"|\"\"\\|");
for (String item : result) {
item = item.replace("\"\"", "");
System.out.println(item);
}
```
输出结果:
```
123421
abcdefgh
werji
12345432
```
需要注意的是,由于 "|" 和 "\"" 都是 Java 中的特殊字符,因此在分割时需要使用转义符 "\\" 对其进行转义。此外,由于字符串中的 |"" 和 ""| 中都包含了双引号,因此在输出分割后的字符串时,需要将其中的双引号去掉。
相关问题
如果有个字符串123421|""abcdefgh""|||werji|""12345432""|, 如何分别根据|"" 和 ""| 进行分割 用java表达
可以使用 Java 的 String 类提供的 replace() 方法将字符串中的 |"" 替换为一个特殊的字符,比如 #,然后再根据 # 进行分割。具体的实现方式如下:
```java
String s = "123421|\"\"abcdefgh\"\"|||werji|\"\"12345432\"\"|";
s = s.replace("|\"\"", "|#").replace("\"\"|", "#|");
String[] result = s.split("\\|");
for (String item : result) {
if (item.contains("#")) {
item = item.replace("#", "");
}
System.out.println(item);
}
```
输出结果:
```
123421
abcdefgh
werji
12345432
```
需要注意的是,由于 "|" 和 "\"" 都是 Java 中的特殊字符,因此在替换和分割时需要使用转义符 "\\" 对其进行转义。
用函数实现:如字符串ABCDeFGH,将不重复的字符串中
的大写字母和小写字母分别存储到两个列表中。
```python
def separate_upper_lower(string):
upper_list = []
lower_list = []
for char in string:
if char.isupper() and char not in upper_list:
upper_list.append(char)
elif char.islower() and char not in lower_list:
lower_list.append(char)
return upper_list, lower_list
string = "ABCDeFGH"
upper_list, lower_list = separate_upper_lower(string)
print(upper_list)
print(lower_list)
```
输出:
```
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
['e']
```