在 .split() 中转义 /
Escape / in .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(/ , | \//);
正则表达式不太好!
它的作用是在 " , "
或 " /"
上拆分(注意 space 字符:space 逗号 space 和 space 正斜杠)。如果这是您打算替换的内容,那么您的正则表达式绝对没问题。
这是一个 Regexper 可视化:
更新
您的字符串中根本没有 space,因此您需要删除它们:
item.gdp.split(/,|\//);
有了这个,你的结果将是:
["07777", "25555", "00255"]
一个更实用的正则表达式是 /[,\/]
- 方括号将匹配其中包含的任何字符。
input.split(/[\/\s,]+/)
这是您要找的吗?
这是一个
split(/\s*[,\/]\s*|\s+/);
var item={gdp:"07777/25555,00255"};
var p = item.gdp.split(/[,/]/);
document.write(p[0] + "<br>" + p[1] + "<br>" + p[2]);
07777
25555
00255
如果您像在第一个字符串中一样仅使用逗号和斜杠进行拆分
"07777/25555,00255"
您可以简单地拆分包含这两个字符 [,/]
的字符 class
在字符 class 中,斜杠不需要转义,因此结果语句将是
var p = item.gdp.split(/[,/]/);
如果您还想在 space 上拆分,就像在您的另一个示例 0777/2555 0777,2555
中一样,只需将 space 添加到字符 class:
var p = item.gdp.split(/[, /]/);
或在任何白色 space 上拆分(space、制表符等)使用预定义的 \s
:
var p = item.gdp.split(/[,\s/]/);
此外,您可以折叠多个白色space,但您需要超越一个简单的字符class。比较...
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"]
需要在 javascript .split()
函数中转义 /
但似乎无法弄清楚!
input -> string "07777/25555,00255" or any of 0777/2555 0777,2555
output -> array {07777,25555,00255}
var p = item.gdp.split(/ , | \//);
正则表达式不太好!
它的作用是在 " , "
或 " /"
上拆分(注意 space 字符:space 逗号 space 和 space 正斜杠)。如果这是您打算替换的内容,那么您的正则表达式绝对没问题。
这是一个 Regexper 可视化:
更新
您的字符串中根本没有 space,因此您需要删除它们:
item.gdp.split(/,|\//);
有了这个,你的结果将是:
["07777", "25555", "00255"]
一个更实用的正则表达式是 /[,\/]
- 方括号将匹配其中包含的任何字符。
input.split(/[\/\s,]+/)
这是您要找的吗?
这是一个
split(/\s*[,\/]\s*|\s+/);
var item={gdp:"07777/25555,00255"};
var p = item.gdp.split(/[,/]/);
document.write(p[0] + "<br>" + p[1] + "<br>" + p[2]);
25555
00255
如果您像在第一个字符串中一样仅使用逗号和斜杠进行拆分
"07777/25555,00255"
您可以简单地拆分包含这两个字符 [,/]
的字符 class
在字符 class 中,斜杠不需要转义,因此结果语句将是
var p = item.gdp.split(/[,/]/);
如果您还想在 space 上拆分,就像在您的另一个示例 0777/2555 0777,2555
中一样,只需将 space 添加到字符 class:
var p = item.gdp.split(/[, /]/);
或在任何白色 space 上拆分(space、制表符等)使用预定义的 \s
:
var p = item.gdp.split(/[,\s/]/);
此外,您可以折叠多个白色space,但您需要超越一个简单的字符class。比较...
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"]