Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用符号拆分Java中的字符串_Java_Split - Fatal编程技术网

用符号拆分Java中的字符串

用符号拆分Java中的字符串,java,split,Java,Split,这个请求在文字上很简单,但后来又发生了变化 基本上,我需要的不仅仅是拆分字符串,而是保存“符号”,然后能够显示它们 下面是它的工作原理: 输入: 从前,在很远很远的地方有一个王国 在这个王国上住着一位公主 她一个人很快乐 输出: 一次,1次,第1行-第1列 一次,第1行第6列 a、 3次,第1行-第11列,第1行-第28列,第2行-第23列 也应该能够:不考虑空间,\n和f在它们上面,但是像要考虑“,”这样,空间分裂不会给“远”和“远”作为不同的符号,就像“,”是它自己的的符号。 分裂法是否可

这个请求在文字上很简单,但后来又发生了变化 基本上,我需要的不仅仅是拆分字符串,而是保存“符号”,然后能够显示它们

下面是它的工作原理:

输入:

从前,在很远很远的地方有一个王国

在这个王国上住着一位公主

她一个人很快乐

输出:

一次,1次,第1行-第1列

一次,第1行第6列

a、 3次,第1行-第11列,第1行-第28列,第2行-第23列

也应该能够:不考虑空间,\n和f在它们上面,但是像要考虑“,”这样,空间分裂不会给“远”和“远”作为不同的符号,就像“,”是它自己的

的符号。

分裂法是否可以考虑多个参数?


更不用说,我不确定是否有比for循环更好的方法来计算重复每个“符号”的行和列的数量

将字符串拆分为符号,将符号作为键保留在哈希映射中,并将其计数保留在相应的哈希映射值中

例如:

Map<String, Integer> tokensWithCounts = new HashMap<String, Integer>();
String[] tokens = str.split("\\s*[a-zA-Z]+\\s*");
List<String> tokensList = Arrays.asList(tokens);
for(String token : tokenList){
    if(tokensWithCounts.get(token) == null){
        tokensWithCounts.put(token, 0);
    }
    tokensWithCounts.put(token, tokensWithCounts.get(token) + 1);
}
Map tokensWithCounts=new HashMap();
String[]tokens=str.split(\\s*[a-zA-Z]+\\s*”;
List tokensList=Arrays.asList(令牌);
for(字符串标记:标记列表){
if(tokensWithCounts.get(token)==null){
tokensWithCounts.put(token,0);
}
tokensWithCounts.put(token,tokensWithCounts.get(token)+1);
}
编辑:对不起,我答错问题了。您将把这些值保存在
HashMap
中。令牌仍将是密钥,列表将以“第1行-第1列”的形式显示所有出现的令牌。出现次数是存储在HashMap中的
列表的
.size()

重复: