Javascript如何从string中删除文本

我有一个string,其data-123 。 如何在jQueryJavascript ,我将进入并从string中删除data- ,而离开123

没有jQuery需要。

 var ret = "data-123".replace('data-',''); console.log(ret); //prints: 123 

文档。


对于所有被丢弃的事件使用:

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

PS:replace函数返回一个新的string,并保持原始string不变,所以在replace()调用之后使用函数返回值。

这与jQuery没有任何关系。 你可以使用JavaScript replace函数来实现这个function:

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

你也可以传递一个正则expression式到这个函数。 在下面的例子中,它将取代除数字之外的所有内容:

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

你可以使用"data-123".replace('data-',''); ,正如所提到的那样,但是由于replace()只replace了匹配文本的第一个实例,如果你的string是类似于"data-123data-"那么

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

只会取代第一个匹配的文字。 而你的输出将是"123data-"

DEMO

所以,如果你想要所有文本匹配的string被replace,你必须使用g标志的正则expression式:

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

而你的输出将是"123"

DEMO2

你可以使用slice()它从开始到结束(包括结束点)

  string.slice(start , end); 

这里有一些exmp来展示它是如何工作的:

 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上的.replace()文档 。

例如: –

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

希望这会为你工作。

我习惯了C#(Sharp)String.Remove方法。 在Javascript中,没有删除函数的string,但有substr函数。 您可以使用substr函数一次或两次从string中删除字符。 你可以使下面的函数在开始索引处删除字符到string的末尾,就像c#方法一样重载String.Remove(int startIndex):

 function Remove(str, startIndex) { return str.substr(0, startIndex); } 

和/或你也可以使下面的函数删除开始索引和计数的字符,就像C#方法第二次重载String.Remove(int startIndex,int count):

 function Remove(str, startIndex, count) { return str.substr(0, startIndex) + str.substr(startIndex + count); } 

然后你可以使用这两个function或其中一个为您的需要!

例:

 alert(Remove("data-123", 0, 5)); 

输出:123

使用match()Number()来返回一个numbervariables:

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

这是上面的说法…中间工作:

  1. str.match(/\d+$/) – 返回一个数组,其中包含与str末尾任意长度的数字匹配的数组。 在这种情况下,它返回一个包含单个string项['123']的数组。
  2. Number() – 将其转换为数字types。 因为.match()返回的数组包含单个元素Number()将返回数字。

我做的这个小function一直为我工作:)

 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!! 

我知道这不是最好的,但它一直为我工作:)