我有一个来自数据库的字符串。 字符串是这样的: -
ABC:def,ghi:jkl,hfh:fhgh,ahf:jasg
简而言之String:String
,它会重复大值。
我需要解析此字符串以仅获取没有任何:
或,
的单词并将每个单词存储在ArrayList中
我可以使用分割功能(两次)来做到这一点,但我发现使用正则表达式我可以做一次去获得arraylist ..
String strLine="category:hello,good:bye,wel:come";
Pattern titlePattern = Pattern.compile("[a-z]");
Matcher titleMatcher = titlePattern.matcher(strLine);
int i=0;
while(titleMatcher.find())
{
i=titleMatcher.start();
System.out.println(strLine.charAt(i));
}
然而它没有给我正确的结果..它最终给了我找到的匹配索引,然后我需要追加它,这不是那么合乎逻辑和有效,。
有什么方法..
答案 0 :(得分:5)
String strLine="category:hello,good:bye,wel:come";
String a[] = strLine.split("[,:]");
for(String s :a)
System.out.println(s);
答案 1 :(得分:1)
使用java StringTokenizer 样品:
StringTokenizer st = new StringTokenizer(in, ":,");
while(st.hasMoreTokens())
System.out.println(st.nextToken());
答案 2 :(得分:0)
即使你可以使用正则表达式一次解析整个字符串,我认为它比用多个步骤拆分它更不易读。