我正在尝试标记字符串数组的字母,而不是字符串类型。
我使用 .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
是您想要的每个部分的长度,您必须从 index
到 index+size
进行子串并进行迭代遍历字符串,直到到达末尾,该末尾由字符串长度减去大小
最好使用 List
而不是 array
,因为添加元素更容易,当然您可以计算将获得的拆分数量,但这是另一个问题方式
使用 IntStream
和 Streams
的版本:
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/