我将假定这是家庭作业,因此我仅给出一些片段作为提示:
查找给定子串的所有出现的索引
这是一个
indexOf与
fromIndex参数一起使用以查找较大字符串中所有出现的子字符串的示例:
String text = "012ab567ab0123ab";// finding all occurrences forward: Method #1for (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 #2for (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链接
String substring(int beginIndex, int endIndex)
- 返回一个新字符串,该字符串是该字符串的子字符串。子字符串从指定的字符串开始,
beginIndex
并扩展到index的字符endIndex - 1
。
- 返回一个新字符串,该字符串是该字符串的子字符串。子字符串从指定的字符串开始,



