我遇到了安装android的问题。
我有一个这样的字符串:
[[“Km”],[“Portagens”],[“Refeições - Almoço”],[“Refeições - Jantar“],[”Refeições - Lanche“],[”Estacionamento“],[”Estadia“ 酒店 “],[” Gasóleo “],[” Gasolina “],[” 出租车 “],[” Combóio “],[” Avião “],[” Viatura de Aluguer“],[”Viaturas BIQ“],[”Economato“],[”Correio“],[”Outros“],[”Refeições - Pequeno almoço“]]
我想拆分它,将内容保存到数组中,如下所示:
Km
Portagens
Refeições-Almoço
Refeições-Jantar
Refeições-Lanche
Estacionamento
。 。 。
所以分隔符是:
1- [
2- ]
3 - "
4 - ,
我如何用这个字符分割字符串?
如果我使用[\\W]
,我会得到一些空字符串。
你能帮助我吗?
问候。
答案 0 :(得分:2)
怎么样
[\[\]\",]{1,}
如果您提到的4个字符中有一个或多个字符,则会分割。
String[] words = str.split("[\\[\\]\\\",]{1,}");
答案 1 :(得分:0)
String[] tokens = s.split("\"\\],\\[\"");
您将对第一个和最后一个令牌进行特殊处理。
答案 2 :(得分:0)
代码
Pattern p = Pattern.compile("\\[\"(.*?)\"\\]");
String input = "[[\"Km\"],[\"Portagens\"],[\"Refeições - Almoço\"],[\"Refeições - Jantar\"],[\"Refeições - Lanche\"],[\"Estacionamento\"],[\"Estadia Hotel\"],[\"Gasóleo\"],[\"Gasolina\"],[\"Taxi\"],[\"Combóio\"],[\"Avião\"],[\"Viatura de Aluguer\"],[\"Viaturas BIQ\"],[\"Economato\"],[\"Correio\"],[\"Outros\"],[\"Refeições - Pequeno almoço\"]]";
Matcher m = p.matcher(input);
while (m.find()) {
System.out.println(m.group(1));
}
输出
Km
Portagens
Estacionamento
Gasolina
Taxi
Economato
etc.
答案 3 :(得分:0)
我建议使用StringTokenizer。
StringTokenizer st =
new StringTokenizer("[[\"Km\"],[\"Portagens\"],[\"Refeiçoes - Almoço\"],[\"Refeiçoes - Jantar\"],[\"Refeiçoes - Lanche\"],[\"Estacionamento\"],[\"Estadia Hotel\"],[\"Gasóleo\"],[\"Gasolina\"],[\"Taxi\"],[\"Combóio\"],[\"Aviao\"],[\"Viatura de Aluguer\"],[\"Viaturas BIQ\"],[\"Economato\"],[\"Correio\"],[\"Outros\"],[\"Refeiçoes - Pequeno almoço\"]]", "\",[]");
while (st.hasMoreElements()) {
String token = st.nextElement().toString();
System.out.println("Token = " + token);
}
注意:这尚未经过测试。