我有以下字符串
String name = "John - Paul"
所以我想要做的是检索John
(所有之前-
)。这就是我正在尝试的,但我无法从之前的-
唯一之后检索
String parseName = name.substring(name.indexOf(" - ", -1), name.indexOf(" - ", 0));
你是怎么做到的,有人可以解释一下吗(注意:我不想使用正则表达式)?
您正在混合开始和结束索引 - 您需要从第一个字符(索引 = 0)到索引的子字符串" - "
:
String parseName = name.substring(0, name.indexOf(" - "));
String.substring 方法的参数是字符串的开头和结尾。因此,当第一个为 0 时,您从头开始选择。
String parseName = name.substring(0, name.indexOf(" - "));
我感谢您对(注意:我不想使用正则表达式)的评论,但我仍然会使用 split() 来写这个 - 尽管它需要一个正则表达式字符串作为它的参数 - 因为这就是它的用途。
String name = "John - Paul";
String firstName = name.split(" - ")[0];
而且,在这种情况下,正则表达式并不比 indexOf() 的参数复杂。
使用 substring() 的答案仍然完全有效。