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