我想在不使用split的情况下拆分字符串。任何人都可以解决我遇到的问题,但是我找不到确切的逻辑。
我将假定这是家庭作业,因此我仅给出一些片段作为提示:
这是一个indexOf与fromIndex参数一起使用以查找较大字符串中所有出现的子字符串的示例:
indexOf
fromIndex
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"
int indexOf(String, int fromIndex)
此代码段substring从字符串中提取给定索引,并将其放入List<String>:
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]);
一些关键思想:
String substring(int beginIndex, int endIndex)
beginIndex
endIndex - 1