我对RegEx相对较新,我正在努力实现一些我认为对于比我更有经验的人来说非常简单的事情。
我想在JavaScript中构建一个片段,它会在输入和删除任何内容之前包含特定字符 - 在本例中为下划线。
因此0_test
,1_anotherTest
,2_someOtherTest
将分别成为test
,anotherTest
和someOtherTest
。
提前致谢!
答案 0 :(得分:1)
您可以使用following regex(,只有在您的特殊字符未知时才会很棒,请参阅Alex的_
解决方案):
^[^_]*_
说明:
^
- 字符串的开头[^_]*
- 除_
_
- 下划线用空字符串替换。
var re = /^[^_]*_/;
var str = '1_anotherTest';
var subst = '';
document.getElementById("res").innerHTML = result = str.replace(re, subst);
<div id="res"/>
如果你必须在数字之前匹配,并且你不知道它可以是哪个数字,那么正则表达式更好(使用/^[^0-9]*[0-9]/
或/^\D*\d/
正则表达式。)
答案 1 :(得分:0)
简单地从它的位置读到最后:
var str = "2_someOtherTest";
var res = str.substr(str.indexOf('_') + 1);