zoukankan      html  css  js  c++  java
  • String中使用split()分割字符串遇到元字符的问题

    使用split()切割字符串的时候,假如是根据"+","*",""等一些字符切割,直接这么一个单独的字符串是会报错的,因为split()是根据正则匹配,所以传入的字符串不能是正则的元字符.但是又非得用这些元字符去分割的话,只能通过转义的方法了.

    转义字符是"",在要转义的元字符前面加上这个转义字符,元字符就变成了普通的字符: s.split("+")

    但是在java里,""也是有含义的,所以直接s.split("+")还是会报错的...所以这时候需要将""也进行转义,转义为普通的""字符,就成了s.split("\+")

    s.split("\+")的意思就是先将""转译为普通的""字符,这时候从java的视角看就是"+",然后这个字符串传入到正则中,正则就会将其转译为"+"字符,所以就可以通过这个"+"分割字符串了.

    万一分割字符串的是个""怎么办?直接s.split("\")么?

    不行的,这是会报错的...因为这个的意思是先将""转成字符"",然后另一个""怎么办...所以得写成s.split("\\"),两个转义""分别把元字符""转成普通字符,通过java的视角看是"\"这字符串.然后传给正则,正则一看,一个转义字符要转义另一个转义字符,然后得出的结论就是""字符,然后就开心的分割字符串了

  • 相关阅读:
    Nginx TCP Proxy模块的编译安装
    树形dp hdu-4616-Game
    UVA 10405 Longest Common Subsequence (dp + LCS)
    MVC中使用EF(2):实现基本的CRUD功能
    [置顶] 关于Qt的学习
    BNU 26480 Horror List【最短路】
    汉语-词语-爱惜:百科
    汉语-词语-珍惜:百科
    汉语-词语-无知:百科
    汉语-词语-愚蠢:百科
  • 原文地址:https://www.cnblogs.com/erxiaoouba/p/9120584.html
Copyright © 2011-2022 走看看