我想替换括号内的所有字符:
var pattern = " [,°.^?]";
let latitude = [];
var test = "50°', 12", 212";
latitude = string.replace(pattern, " ").split(" ");
但我总是得到带有角色的价值观。它没有取代。 我的代码怎么了?
答案 0 :(得分:1)
你必须将模式定义为正则表达式文字,在代码中未定义字符串(应该是测试),测试字符串应该有反斜杠字符' \"'。
var pattern = /[,°.^?]/g;
let latitude = [];
var test = "50°', 12\", 212";
latitude = test.replace(pattern, " ");
console.log(latitude);

答案 1 :(得分:0)
你需要使用全局标志正确定义模式并删除额外的"来自你的测试字符串。
var pattern = new RegExp("[,°.^?]", 'g');
let latitude = [];
var test = "50°', 12, 212";
latitude = test.replace(pattern, " ");
console.log(latitude);

答案 2 :(得分:0)
阅读documentation。第一个参数,当以字符串形式给出时,描述为:
substr(pattern) 要由
newSubStr
替换的字符串。 将其视为逐字字符串,不会被解释为正则表达式。只会替换第一次出现。
要使代码正常工作,请写下:
const pattern = /[,°.^?]/g;
答案 3 :(得分:-1)
你的测试字符串中有一个引号太多而你的正则表达式中有太多的空格。
var pattern = "[,°.^?]";
let latitude = [];
var test = "50°', 12, 212";
latitude = string.replace(pattern, " ").split(" ");