0

我的数据是这样的:

Smith, Bob; Data; More Data
Doe, John; Data; More Data

如果您往下看,您会发现我正在尝试将 FullName 拆分为第一个和最后一个。错误是:

“String 类型中的方法 split(String) 不适用于参数 (char)”

String line = scanner.nextLine();
String[] data = line.split(";");
String[] fullName = data[0].split(',');
4

3 回答 3

9

我在评论中解释说可以很容易地修复该错误:','","

我将详细说明为什么会这样。在 Java 中,s 中包含的单个字符'字符文字,它与包含在s 中的字符串文字非常不同"。例如,如果您来自 Python 世界,那么这可能需要一些时间来适应,'并且"基本上可以作为同义词使用。

在任何情况下, 1-argumentsplit()方法String接受a ,而后者又被解析为正则表达式。这就是为什么你需要双引号。String

于 2013-09-27T02:24:59.057 回答
1

将单引号切换为双引号

String[] fullName = data[0].split(",");

于 2013-09-27T02:23:16.807 回答
0

String.split(String)将 String 作为唯一参数。

public String[] split(String regex)

    Splits this string around matches of the given regular expression.

    This method works as if by invoking the two-argument split method with the
    given expression and a limit argument of zero. Trailing empty strings are
    therefore not included in the resulting array.

    The string "boo:and:foo", for example, yields the following results with
    these expressions:

        Regex   Result
        :   { "boo", "and", "foo" }
        o   { "b", "", ":and:f" }

    Parameters:
        regex - the delimiting regular expression 
    Returns:
        the array of strings computed by splitting this string around matches
        of the given regular expression 
    Throws:
        PatternSyntaxException - if the regular expression's syntax is invalid
    Since:
        1.4
    See Also:
        Pattern
于 2013-09-27T02:23:56.553 回答