如何用javascript解析字符串中的值?

时间:2012-05-31 16:28:59

标签: javascript

我是文本“data-RowKey = xxx”内的字符串名称内容。我试图摆脱xxx,所以我尝试了以下内容:

var val = content.substring(12 + content.indexOf("data-RowKey="), 3);

这根本不起作用。而不只是得到三个字符我得到一个很长的字符串。任何人都可以看到我做错了什么

4 个答案:

答案 0 :(得分:2)

.substring() [MDN]有两个索引,.substr() [MDN]获取索引和长度。尝试:

var val = content.substr(12 + content.indexOf("data-RowKey="), 3);

如果"data-RowKey=xxx"是整个字符串,则可以通过其他方式获取xxx

var val = content.replace('data-RowKey=', '');
var val = content.split('=')[1]; // assuming `=` does not appear in xxx

答案 1 :(得分:2)

你使用的是错误的工具。如果要捕获与某些模式匹配的数据,则应使用regular expressions。如果您的值恰好是三个符号,则正确的表达式为/data-RowKey=(...)/,其中.代表任何符号,()指定要捕获的部分。

答案 2 :(得分:1)

这有效:

var value = content.match(/data-RowKey=(.*)/)[1];

Live DEMO

如果xxx之后可能有值,请使用:

"data-RowKey=123abc".match(/data-RowKey=(.{3}).*/)[1] // 123

答案 3 :(得分:0)

如果您的rowkey是数字,那么这可能是最好的,因为您将数字作为整数获取并且以后不需要转换:

var val = parseInt( content.split("data-RowKey=")[1] );

如果总是三个字符和/或不需要转换:

var val = content.split("data-RowKey=")[1].substring(0,3);