假设我有一个像这样的字符串
var str = 'E2*2001/116*0364*31'
我想要的是在字符串中找到第3个*,并从开始打印到它。
结果将是E2*2001/116*0364*
我尝试了类似jsfiddle的内容。
对应代码
var str = 'E2*2001/116*0364*31',
delimiter = '*',
start = 0,
var pos=getPosition(str, *, 3);
alert(pos);
tokens = str.substring(start, getPosition(str,*,3)),
result = tokens;
document.body.innerHTML = result;
function getPosition(str, m, i) {
return str.split(m, i).join(m).length;
}
但无法获得输出。
任何人都可以协助。
答案 0 :(得分:2)
试试这个。
str.split('*').slice(0,3).join('*') + '*';
答案 1 :(得分:1)
^([\w\-] )+$
答案 2 :(得分:0)
String#replace
的解决方案:
var string = 'E2*2001/116*0364*31'.replace(/([^*]+\*){3}/, '');
document.write('<pre>' + JSON.stringify(string, 0, 4) + '</pre>');