java - 使用字符串数组来标记每个条目的字母

标签 java arrays string

我正在尝试标记字符串数组的字母,而不是字符串类型。

我使用 .split() 将字符串转换为由数组中每个单词组成的数组,但我无法找到类似的方法来标记数组中的字母。

我尝试在网上寻找可以使用的方法或工具,但在字符串数组方面我没有任何运气。也许类似于子字符串?

如果有人能指出我正确的方向,我将不胜感激。

这是我所拥有的:

// i variables run through rows and j variables run through each word in the string array. 
// tokens is the string array
for(int i = 0; i < tokens.length; i ++){
    for(int j = 0; j < tokens[i].length; j++)
    ...
}

是否有一种关于数组的方法来计算数组每行中每个单词的长度?

最佳答案

考虑 size 是您想要的每个部分的长度,您必须从 indexindex+size 进行子串并进行迭代遍历字符串,直到到达末尾,该末尾由字符串长度减去大小

得出

最好使用 List 而不是 array,因为添加元素更容易,当然您可以计算将获得的拆分数量,但这是另一个问题方式

<小时/>

使用 IntStreamStreams 的版本:

String str = new Scanner(System.in).nextLine();
int size = 2;
List<String> res = IntStream.range(0, str.length() - size + 1)
                            .mapToObj(i -> str.substring(i, i + size))
                            .collect(Collectors.toList());
System.out.println(res); // [he, el, ll, lo]

使用基本for循环的版本:

String str = new Scanner(System.in).nextLine();
int size = 3;
List<String> res = new ArrayList<>();
for (int i = 0; i < str.length() - size + 1; i++) {
    res.add(str.substring(i, i + size));
}
System.out.println(res); // [hel, ell, llo]

关于java - 使用字符串数组来标记每个条目的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672901/

相关文章:

php - 在函数调用后定义数组索引

r - 使用 R,strsplit 如何在要拆分的字符串末尾使用拆分器处理固定元素?

java - 从 java 10 升级到 java 11,从 gradle 4.10 升级到 gradle。 5.2 : "Variable not initialized in the default constructor"

python - 删除 numpy 数组中的孤立单元格

java - 使用 Spring 将图像包含在 Velocity 模板中

Ruby 可枚举反向检测

c - fwrite 似乎工作,memcpy 失败

C将一个char数组拆分成不同的变量

java - CXF 在 "Apache CXF"中代表什么?

java - 从 quartz (Spring + Quartz 应用程序)重复作业 - 作业链