17

需要帮助。

line.split("*");

我使用这行代码将字符串拆分为星号标记。但是,我的编译器出现错误。它说,“无效的正则表达式:悬空元字符'*'”

如何解决这个问题?提前致谢。

4

5 回答 5

37

*在正则表达式中有特殊含义。你必须逃避它。

line.split("\\*");
于 2013-03-19T05:51:04.930 回答
2

试试这个说法:

line.split("\\*");
于 2013-03-19T05:52:17.437 回答
2

这是因为您使用了“*”,即正则表达式。如果你想使用这个角色,你需要你放这样的东西:

line.split("\\*");
于 2013-03-19T05:54:59.043 回答
2

*是正则表达式中的元字符。它用于匹配 0 个或多个元素。如果您想将*用作普通字符而不是特殊字符(即跳过其作为元字符的行为),则在它之前添加转义字符。

例如:String[] split = line.split("\\*");

希望这可以帮助。

于 2013-03-19T06:00:46.407 回答
0

用这个

" 字符串数据 = "Mani*Kum";

String []value= data.split("\\*");

" 输出将是这样的:

value[0]= "Mani";
value[1]= "Kum";
于 2019-02-23T16:46:37.590 回答