java 用逗号分割字符串

Python012

java 用逗号分割字符串,第1张

import java.util.regex.Matcher

import java.util.regex.Pattern

public class Test {

/**

 * @param args

 */

public static void main(String[] args) {

String str = "2005a-3.pt.5"

        Pattern p = Pattern.compile("[(\\d[^\\d])[([^\\d]\\d)][\\d][^\\d]]+")

        Matcher m = p.matcher(str)

        String resultStr = ""

        while(m.find()) {

            if(m.group().matches("\\d+\\b|[^\\d]+\\b")) {

                resultStr = resultStr +m.group()+","

            }

            else {

                p = Pattern.compile("\\d+|[^\\d]+")

                Matcher mm = p.matcher(m.group())

                while(mm.find()) {

                    resultStr = resultStr+mm.group()+","

                }

            }

        }

        System.out.println(resultStr.substring(0, resultStr.length()-1))

}

}

上面是用正则的,其实你可以不用正则,而是去遍历这个字符串,然后比较他们的ASCII码是不是数字。

这里主要用到了StringBuffer以及string的append方法、substring方法。

大致思路如下:

str4为目标字符串,及最后的结果会被存放进str4

我们用stringbuffer类中的函数append来处理字符串数组str1,并通过逗号来分割,最后用tostring函数,将其转变成字符串的形式。

最后用substring来对结果进行截取,得到最后需要的形式:abc,123,45

下图为具体的代码段:

扩展资料:

在java中,关于字符数组、字符串分割截取拼接处理的一些常用类及方法:

StringBuffer的常用方法:

StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。

1、append方法

该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如:

这样对象sb的值将变成”abctrue”。

2、substring方法

substring()

方法返回字符串的子字符串。

以上就会截字符串的[4,10)位,其中从0开始,包括第四位,不包括第十位。