将Javascript Regex结果转换为字符串(?)
Convert Javascript Regex Result to String(?)
我使用一个简单的RegExp表达式提取了一个括号内的字符串。我正在尝试将结果拆分为一个数组。
但我得到了"Cannot read property 'split' of null" ERROR
。这很奇怪,因为vrb1
返回(a, b)
。
我已经尝试过用toString()
将vrb1
转换为字符串,但没有成功。
这个错误可能是因为RegExp匹配结果吗?非常感谢你的帮助。
str = sample(a, b);
var regex = new RegExp("['(]([^')])+[')]","g");
var vrb1 = str.match(regex);
var tmp = vrb1.split(",");
return tmp;
match
返回一个数组,而不是字符串。
返回值
array
一个数组,包含整个匹配结果和任何圆括号捕获的匹配结果,如果没有匹配,则为null。
在你的情况下,你想要这样的东西:
if (vrb1 !== null) {
var tmp = vrb1[0].split(',');
}
match
将返回null。
您只需检查null即可。
更换
var tmp = vrb1.split(",");
带有
var tmp = vrb1 || [];
如果找不到结果,这将返回一个空数组。
编辑
看起来您正在按comma
进一步拆分结果,然后尝试
var tmp = vrb1 ? vrb1[0].split(",") : [];
或者因为有多个结果(正则表达式中的g
)
var tmp = vrb1 ? vrb1.join(",").split(",") : [];
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 将字符串转换为格式化日期
- IE在将字符串转换为日期时从日期中删除4小时
- node.js将字符串转换为要上传到Web服务器的文件
- 将字符串转换为JS对象
- 在js中将字符串转换为十六进制
- 试图了解如何使用parseFloat将字符串转换为数字
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 将字符串转换为GWT中的JSON对象(JSNI)
- 如何使用Razor显示模板将字符串转换为html字符串
- 将字符串转换为数组编号Javascript
- js字符串转换为具有两个值的对象
- 转换<a>使用jQuery将文本字符串转换为dom元素
- Jquery-将字符串转换为reg exp对象
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将JavaScript字符串转换为整数
- moment js,将EST字符串转换为UTC
- 如何在javascript中将字符串转换为有效日期
- 通过JQuery将字符串转换为JSON