我有一个String str,它由几个用单个空格分隔的单词组成。如果我想创建一个字符串集或列表,我可以简单地调用,str.split(" ")
然后得到我想要的。
现在,假设str稍微复杂一点,例如:
str = "hello bonjour \"good morning\" buongiorno";
在这种情况下," "
我想要保留的字符串是:
hello
bonjour
good morning
buongiorno
显然,如果我split(" ")
在这种情况下使用,它将无法正常工作,因为我会得到
hello
bonjour
"good
morning"
buongiorno
那么,我如何得到我想要的?
您可以执行以下操作。首先用“ \”“分割Sting,然后使用空格”“分割其余的。偶数记号将是引号”“之间的记号。
public static void main(String args[]) {
String str = "hello bonjour \"good morning\" buongiorno";
System.out.println(str);
String[] parts = str.split("\"");
List<String> myList = new ArrayList<String>();
int i = 1;
for(String partStr : parts) {
if(i%2 == 0){
myList.add(partStr);
}
else {
myList.addAll(Arrays.asList(partStr.trim().split(" ")));
}
i++;
}
System.out.println("MyList : " + myList);
}
和输出是
hello bonjour "good morning" buongiorno
MyList : [hello, bonjour, good morning, buongiorno]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句