小编典典

我想在不使用拆分功能的情况下拆分字符串吗?

java

我想在不使用split的情况下拆分字符串。任何人都可以解决我遇到的问题,但是我找不到确切的逻辑。


阅读 221

收藏
2020-11-26

共1个答案

小编典典

我将假定这是家庭作业,因此我仅给出一些片段作为提示:

查找给定子串的所有出现的索引

这是一个indexOffromIndex参数一起使用以查找较大字符串中所有出现的子字符串的示例:

String text = "012ab567ab0123ab";

// finding all occurrences forward: Method #1
for (int i = text.indexOf("ab"); i != -1; i = text.indexOf("ab", i+1)) {
    System.out.println(i);
} // prints "3", "8", "14"

// finding all occurrences forward: Method #2
for (int i = -1; (i = text.indexOf("ab", i+1)) != -1; ) {
    System.out.println(i);
} // prints "3", "8", "14"

字符串API链接

  • int indexOf(String, int fromIndex)
    • 从指定的索引开始,返回指定子字符串首次出现在该字符串中的索引。如果不存在这种情况,则返回-1。

相关问题


从字符串中提取给定索引的子字符串

此代码段substring从字符串中提取给定索引,并将其放入List<String>

String text = "0123456789abcdefghij";

List<String> parts = new ArrayList<String>();
parts.add(text.substring(0, 5));
parts.add(text.substring(3, 7));
parts.add(text.substring(9, 13));
parts.add(text.substring(18, 20));

System.out.println(parts); // prints "[01234, 3456, 9abc, ij]"

String[] partsArray = parts.toArray(new String[0]);

一些关键思想:

  • 有效的Java 2nd Edition,项目25:首选列表而不是数组
    • 如果您不知道会有多少个部件,效果特别好

字符串API链接

2020-11-26