javascript - jQuery - 在JavaScript中,如何从字符串中删除文本?

我有一个以data-123的字符串,我该如何用JavaScript从字符串中删除data-?

时间:

不需要jQuery 。


var ret ="data-123".replace('data-','');


console.log(ret); //prints: 123



文档。


var ret ="data-123".replace(/data-/g,'');



这与jQuery没有什么关系,你可以为此使用JavaScript replace函数:


var str ="data-123";


str = str.replace("data-","");



你也可以将正规表达式传递给此函数,在下面的例子中,它将替换除数值以外的所有内容:


str = str.replace(/[^0-9.]+/g,"");



就像前面提到的,可以使用"data-123".replace('data-','');,但是因为replace()只替换匹配文本的第一个实例,如果你的字符串类似于"data-123data-",那么,


"data-123data-".replace('data-','');



将只替换第一个匹配的文本。 你的输出将是"123data-"

演示

所以,如果希望在字符串中替换所有匹配的文本,则必须使用g标志使用正则表达式:


"data-123data-".replace(/data-/g,'');



你的输出将是"123"

DEMO2

你可以使用slice ()在开始到结束(包括结束点)之间返回字符


 string.slice(start , end);



这里有一些例子展示它是如何工作的:


var mystr = ("data-123").slice(5); // jast define start point so output is"123"


var mystr = ("data-123").slice(5,7); // define start and end so output is"12"


var mystr=(",246").slice(1); // returens"246"



演示

普通的JavaScript已经足够了-对于这样一个简单的任务,不必要用jQuery:


var myString ="data-123";


var myNewString = myString.replace("data-","");



有关更多信息和用法,请参见MDN上的文档

Ex:-


var value="Data-123";


var removeData=value.replace("Data-","");


alert(removeData);



希望这对你有用。


String.prototype.deleteWord = function (searchTerm) {


 var str = this;


 var n = str.search(searchTerm);


 while (str.search(searchTerm) > -1) {


 n = str.search(searchTerm);


 str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);


 }


 return str;


}



// Use it like this:


var string ="text is the the cool!!";


string.deleteWord('the'); // Returns text is cool!!



使用match()Number()返回一个number变量:


Number(("data-123").match(/d+$/));



// strNum = 123



  • str.match(/d+$/) -返回一个数组,其中包含与str结尾的数字长度的匹配项,在这种情况下,它返回一个包含单个字符串项['123']的数组,
  • Number() -将它转换为数字类型,因为从.match()返回的数组包含一个元素Number()将返回该数字。


str.split('Yes').join('No'); 



...