【问题标题】:Can we split a string that has one of its delimeters in Android我们可以在Android中拆分具有其分隔符之一的字符串吗
【发布时间】:2012-06-28 04:29:24
【问题描述】:

我有一个类似1264$LP@$JOHN TAYLOR VS NJ Traffic$LP@$0$LP@$ 的字符串。我想用$LP@$ 作为分隔符分割这个字符串,但它包含L(在 TAYLOR 中)所以虽然它应该返回

1264
JOHN TAYLOR VS NJ Traffic
0

它是给喜欢的

1264
JOHN TAY
OR VS NJ Traffic
0

有人可以帮我吗?提前致谢。

【问题讨论】:

    标签: android stringtokenizer


    【解决方案1】:

    $ 符号是正则表达式中的特殊字符。您需要使用 '\' 对其进行转义。

    String input = "1264$LP@$JOHN TAYLOR VS NJ Traffic$LP@$0$LP@$";
    String []pieces = input.split("\\$LP\\@\\$");
    
    for(int i=0;i < pieces.length;i++)
      System.out.println(pieces[i]);
    

    输出是 1264 约翰泰勒 VS 新泽西交通 0

    【讨论】:

    • 感谢您的回复。太好了!它对我有用。你能告诉我为什么我们在每个字符前面都使用 \\
    • 你需要在正则表达式中用\转义$,然后它会作为\$出现,你需要在Java字符串中转义\,然后它会出现\\$
    • 你能告诉我什么是正则表达式
    • 正则表达式描述了一种搜索模式。请通过regular-expressions.infodocs.oracle.com/javase/tutorial/essential/regex
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多