1

我正在尝试获取字符串中字符的索引号以将字符串划分为子字符串。示例:我想转:

String book1 = "green eggs and ham, usa, dr. seuss";

进入:

green eggs and ham
usa
dr. seuss

这必须适用于不同长度的字符串。基本上,如果我使用不同的词,它仍然可以工作。

我需要帮助理解将indexOf()逗号索引放入子字符串的方法。

我尝试在 之后的方法调用中使用变量,indexOf当我使用除 int 以外的任何内容时出现错误。

4

3 回答 3

5

我不太确定您的实际要求,但您有很多选择可以尝试:

  • 使用split(String)方法拆分字符串并将其存储为字符串数组
  • 使用StringTokenizer在特定分隔符上标记您的 String 并用于获取标记nextToken()。(请注意,StringTokenizer 是一个遗留类,出于兼容性原因保留,尽管在新代码中不鼓励使用它
  • 第三种选择是使用Pattern的正则表达式

选择适用于您要求的。

于 2012-09-08T23:24:10.787 回答
3

使用拆分。

"green eggs and ham, usa, dr. seuss".split(", ");

请参阅:String.split

于 2012-09-08T23:24:30.680 回答
0

如果您被允许使用它,那么该split()方法正是您所需要的。

否则,如果您只需要使用indexOf(),请查看String API 的 Java API 文档以了解其工作原理。我注意到的第一件事是有三个不同的版本indexOf()indexOf(int)indexOf(int, int)indexOf(String)。我相信其中的第二个将最适用于这个问题。由于文档声明此版本的indexOf()“返回此字符串中第一次出现指定字符的索引,从指定索引处开始搜索”,因此您很可能需要某种循环来查找每次出现一个人物。

于 2012-09-08T23:58:06.957 回答