如何通过java获取字符串中的元素数

时间:2013-10-09 09:58:46

标签: java

示例:假设,String包含(AA,BB,CC)然后输出应该是3.可以有人告诉如何获得此结果。

我试过这个

String userValues= "AA,BB,CC"
int selecteditems=userValues.length();

但我没有得到结果为3。

9 个答案:

答案 0 :(得分:7)

userValues.split(",").length

这应该可以解决问题

答案 1 :(得分:3)

您应该使用String#split

String[] splitted = userValues.split(",");
int selectedItems = splitted.length;

提示:请务必参考docs并查看他们要说的内容,这将为您节省大量的精力和时间。

答案 2 :(得分:3)

就个人而言,我不喜欢创建临时字符串数组的解决方案然后评估数组长度,因为在性能方面所做的一切都很昂贵。

如果表现很重要,请使用此

int num = 0;
for (int i = 0; 
     i < userValues.length(); 
     num += (userValues.charAt(i++) == ',' ? 1 : 0));
/* num holds the occurrences */

但我同意解决方案[承认Ameoo]

userValues.split(",").length

更清楚。

答案 3 :(得分:1)

您可以使用String#split()

String[] separatedValues = userValues.split(",");
int selecteditems = separatedValues.length;

答案 4 :(得分:1)

String userValues= "AA,BB,CC"
String x[]=userValues.split(",");
System.out.println(x.length);

<强>输出 3

答案 5 :(得分:0)

String[] splitedArray = userValues.split(",");
int count = splitedArray.length; //remenber length not length()  

这是java doc split

public String[] split(String regex)

围绕给定regular expression.

的匹配拆分此字符串

答案 6 :(得分:0)

如果值以逗号分隔, 然后你可以使用

string.split(","); 

然后得到长度

答案 7 :(得分:0)

首先应该用逗号字符分割字符串。

String[] split= userValues.split(",");

然后使用

获取split数组的长度

int len = split.length

答案 8 :(得分:0)

其他回复建议拆分字符串。这对于短字符串很好,但是如果处理长字符串,则会使用比必要更多的内存,这可能会对性能产生影响。另一种方法是使用正则表达式来匹配要计数的字符串的组件:

    String s = "AA,BB,CC";
    Pattern p = Pattern.compile( "([A-Z]+,?)" );
    int count = 0, i = 0;
    Matcher m = p.matcher( s );
    while (m.find( i )) {
        count++;
        i = m.end();
    }
    System.out.println( count );