Escape / in .split()

时间:2015-05-26 18:22:40

标签: javascript regex split

需要在javascript /函数中转义.split(),但似乎无法弄明白!

input -> string "07777/25555,00255" or any of 0777/2555 0777,2555

output -> array {07777,25555,00255}

var p = item.gdp.split(/ , | \//);

正则表达式并不是很好!

5 个答案:

答案 0 :(得分:2)

这样做分为" , "" /"(请注意空格字符:空格逗号空格空格< / em>正斜杠)。如果那是你打算替换的话,你的正则表达式绝对没问题。

这是一个Regexper可视化:

Example

更新

你的字符串中根本没有空格,所以你需要删除它们:

item.gdp.split(/,|\//);

有了这个,你的结果将是:

["07777", "25555", "00255"]

使用的更实用的正则表达式是/[,\/] - 方括号将匹配其中的任何字符。

答案 1 :(得分:2)

var item={gdp:"07777/25555,00255"};
var p = item.gdp.split(/[,/]/);
document.write(p[0] + "<br>" + p[1] + "<br>" + p[2]);
07777

25555

00255

答案 2 :(得分:1)

这是一个

    <script>
    (function($){
        $("#historyApplicationForm").UNUGeneratePDF();

        $("#pdfGenerate").on('click', function(event){
                $("#historyApplicationForm").UNUGeneratePDF('Submit');



                event.preventDefault();

                            });
    })(jQuery);

        </script>

答案 3 :(得分:1)

如果你只是在第一个字符串中分割逗号和斜杠 "07777/25555,00255"
你可以简单地拆分包含这两个字符[,/]的字符类 在字符类中,斜杠不需要转义,因此结果语句将为
var p = item.gdp.split(/[,/]/);

如果您还想分割空间,就像在其他示例中0777/2555 0777,2555一样,只需在角色类中添加空格:
var p = item.gdp.split(/[, /]/);

或在任何空格(空格,制表符等)上拆分使用预定义的\s
var p = item.gdp.split(/[,\s/]/);

此外,您可以折叠多个空格,但是您需要超越简单的字符类。比较...

var str="07777/25555,00255     0777,3444";

// split on white, comma, or slash. multiple spaces causes multiple results
str.split(/[\s,/]/)
// -> ["07777", "25555", "00255", "", "", "", "", "0777", "3444"]

// split on multiple whitespace, OR on comma or slash
str.split(/\s+|[,/]/)
// -> ["07777", "25555", "00255", "0777", "3444"]

答案 4 :(得分:0)

input.split(/[\/\s,]+/)

这是你在找什么?