2011-12-16 30 views
1

有一个String由用户给出,格式为"{{row1,col1},{row2,col2},{row3,col3}}"。这些坐标是需要填入矩阵的某些位置,即当找到相同的坐标时改变矩阵值。将字符串转换为矩阵位置

String可以是任意长度,但我们会知道它会有多少个坐标。

问题是我找不到任何快速的解决方案将此字符串转换为位置。我尝试使用StringTokenizer类,但分隔符太多。

你能帮我找到解决这个问题的更好方法吗?

在此先感谢。

+0

考虑使用分裂和分裂的` “},{”`开始。 – 2011-12-16 04:39:01

回答

2

试试这个,

String str="{{row1,col1},{row2,col2},{row3,col3}}"; 

    Pattern pattern = Pattern.compile("(\\w+,\\w+)+"); 
    Matcher matcher = pattern.matcher(str); 

    while (matcher.find()) 
    { 
     String search=matcher.group(); 
     String []ar=search.split(","); 
     System.out.println(ar[0] + " " + ar[1]); 
    }