代码之家  ›  专栏  ›  技术社区  ›  kakopappa

javascript regex unicode帮助

  •  1
  • kakopappa  · 技术社区  · 15 年前

    在javascript中,我使用regex split(/\W+/) 用词。

    当我拆分这个时,它返回了错误的值

    var s3 = "bardzo dziękuję";
    s3 = s3.split(/\W+/);
    
    
    [0]: "bardzo"
    [1]: "dzi"
    [2]: "kuj"
    

    如何解决这个问题?请教

    3 回复  |  直到 9 年前
        1
  •  1
  •   Paul Alan Taylor    15 年前

    regex不拆分,因为它将重音字符视为非单词字符。

    使用空格特殊字符:

    s3 = s3.split(/\s+/);
    
        2
  •  1
  •   Matt    15 年前

    在这种情况下,为什么不直接用空格分割呢?

    s3.split(/\s+/);

        3
  •  1
  •   jwl    9 年前

    你可以用charfunk https://raw.github.com/joelarson4/CharFunk 完全处理Unicode。

    var s3 = "bardzo dziękuję";
    
    function notLetterOrDigit(ch) {
        return !CharFunk.isLetterOrDigit(ch);
    }
    
    CharFunk.splitOnMatches(s3, notLetterOrDigit);