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

新手上路,请多包涵

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

原文由 Sanjeev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 332
2 个回答

我假设这是家庭作业,所以我只会给出一些片段作为提示:

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

下面是使用 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]);

一些关键思想:

  • Effective Java 第 2 版,第 25 条:列表优于数组
    • 如果您事先不知道有多少零件,效果会特别好

字符串 API 链接

相关问题

原文由 polygenelubricants 发布,翻译遵循 CC BY-SA 3.0 许可协议

由于这似乎是一项设计为编码练习的任务,因此我只会提供指导。没有适合您的代码,先生,尽管逻辑和代码相距不远。

您需要遍历字符串的每个字符,并确定该字符是否为定界符(例如,逗号或分号)。如果没有,将它添加到您计划返回的数组的最后一个元素。如果它是定界符,则创建一个新的空字符串作为数组的最后一个元素以开始将字符输入其中。

原文由 Matchu 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题