如何计算java中拆分的子字符串数

时间:2012-02-29 13:46:33

标签: java string split

我的java类中有这段代码

mystring  = mysuperstring.split("/");

我想知道从拆分中创建了多少个子字符串。

在正常情况下,如果我想访问第一个子串我只写

mystring[0];

另外,我想知道mystring[5]是否存在。

6 个答案:

答案 0 :(得分:13)

  

我想知道从拆分中创建了多少个子字符串。

由于mystring是一个数组,因此您只需使用mystring.length来获取子字符串的数量。

  

另外,我想知道mystring[5]是否存在。

要做到这一点:

if (mystring.length >= 6) { ... }

答案 1 :(得分:10)

mystring  = mysuperstring.split("/");
int size = mystring.length;

请记住,数组是零索引的,所以当length = 5时,最后一个元素将被索引为4。

答案 2 :(得分:2)

这是计算子字符串的简单方法

word.split('/').length;

您可以看到此实施的示例here

答案 3 :(得分:0)

试试这个&告诉我它是否有效。

import java.util.regex.Pattern;

public class CountSubstring {
    public static int countSubstring(String subStr, String str){
        // the result of split() will contain one more element than the delimiter
        // the "-1" second argument makes it not discard trailing empty strings
        return str.split(Pattern.quote(subStr), -1).length - 1;
    }

    public static void main(String[] args){
        System.out.println(countSubstring("th", "the three truths"));
        System.out.println(countSubstring("abab", "ababababab"));
        System.out.println(countSubstring("a*b", "abaabba*bbaba*bbab"));
    }
}

答案 4 :(得分:0)

我认为你必须阅读有关分割和数组的信息,请找到链接。

如果您阅读 split function ,则会返回Array of String

现在您应该阅读 Array and its size

答案 5 :(得分:0)

我想演示一个虚拟令牌验证。所以我试着用点 (split) .。它没有用。所以,我想知道并检查了一个小时但没有运气。过了一会儿,当我随机尝试时,我在点之前添加了转义字符,感谢上帝它起作用了:D。

原因是 split 将字符串作为正则表达式。我在写 answer here 时检查了原因:

<块引用>

您正在拆分正则表达式 .,这意味着“任何字符”

int len = accessToken.split("\\.").length;

我想检查的字符串

String accessToken = Bearer 1111.1111.11111 // demonstration purpose dumy

输出:

3