String里面带有双引号,去除双引号后转换成list
时间: 2024-03-21 18:03:45 浏览: 11
可以使用Java正则表达式和字符串的split()方法将带有双引号的String类型的字符串去除双引号后转换成List,具体实现代码如下:
```java
String str = "\"减摇鳍\",\"噪声\",\"噪声2\"";
List<String> strList = new ArrayList<>();
Matcher matcher = Pattern.compile("\"([^\"]*)\"").matcher(str);
while (matcher.find()) {
strList.add(matcher.group(1));
}
```
这里的正则表达式是"\"([^\"]*)\"",它可以匹配带有双引号的子字符串,并且将双引号去除。具体来说,这个正则表达式会匹配双引号,并且将双引号中间的内容作为一组匹配,使用matcher.group(1)可以获取到匹配结果中双引号中间的内容,也就是去除双引号后的字符串。
最终,将匹配结果添加到List中,就可以得到去除双引号后的字符串列表。
相关问题
String里面带有双引号转换成list
可以使用Java正则表达式和字符串的split()方法将String类型的字符串转换成List,具体实现代码如下:
```java
String str = "\"减摇鳍\",\"噪声\",\"噪声2\"";
List<String> strList = Arrays.asList(str.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)"));
```
这里的split()方法使用了正则表达式作为分隔符,可以将带有双引号的字符串正确地切分成一个List。具体来说,这个正则表达式会匹配逗号,并且排除掉带有双引号的逗号。其中,"(?=([^\"]*\"[^\"]*\")*[^\"]*$)"这部分是正则表达式的前瞻断言,它的作用是判断当前逗号后面的内容中是否有偶数个双引号,如果有,就是一个带有双引号的字符串,不应该被切分。
最终,使用Arrays.asList()方法将切分后的结果转换为List。注意,Arrays.asList()方法返回的是一个固定大小的List,不能进行添加或删除操作。如果需要进行添加或删除操作,可以将其转换为可变的ArrayList,具体实现方法可以参考我之前的回答。
java将list转为string 并加双引号
以下是一个将List转换为String并添加双引号的Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
public class ListToString {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
String str = "\"" + String.join("\",\"", list) + "\"";
System.out.println(str); // 输出结果:"apple","banana","orange"
}
}
```
在上面的代码中,我们首先创建了一个字符串列表,并将其添加到列表中。然后使用 `String.join()` 方法将列表转换为一个字符串,其中列表中的每个元素都用双引号和逗号分隔。最后,我们将字符串包装在双引号中并将其输出到控制台。