我正在尝试使用带有Java的正则表达式拆分String。
字符串如下所示:{'tata','toto','titi'}
但{}
描述了前一个自由主义者的顺序,所以它对我不起作用。
我应该使用什么正则表达式来获得这个结果:
tata
toto
titi
答案 0 :(得分:2)
您可以使用此正则表达式:
String str = "{'tata','toto','titi'}";
String[] arr = str.split("[{},']+");
//=> tata, toto, titi
无需在字符类中转义{
或}
。
答案 1 :(得分:1)
您可以使用\
禁用正则表达式中任何字符的特殊含义。
由于\
本身在String
中具有特殊含义,因此如果直接在java中的字符串文字中指定正则表达式,则需要复制它。因此,请将"{something}"
替换为\\{something\\}"
。
答案 2 :(得分:1)
String a = "{'tata','toto','titi'}"
a = a.replace("{'", ""); // get rid of opening bracket and singlequote
a = a.replace("'}", ""); // get rid of ending bracket and singlequote
String[] b = a.split("','"); // split on commas surrounded by singlequotes
这应该会给你一个你想要的单词数组。我想这不是特定的正则表达式,但无论如何它应该做正确的事。