如何从JavaScript中删除字符串中的文本?

我有一个以data-123为值的字符串。 如何在jQueryJavascript进入并从字符串中删除data-同时离开123

不需要jQuery。

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

文档。


对于要丢弃的所有事件,请使用:

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

PS:replace函数返回一个新字符串并保持原始字符串不变,因此在replace()调用后使用函数返回值。

这与jQuery没有任何关系。 您可以使用JavaScript replacefunction:

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

您也可以将正则表达式传递给此函数。 在下面的示例中,它将替换除数字之外的所有内容:

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

你可以使用"data-123".replace('data-',''); ,如上所述,但由于replace()仅替换匹配文本的FIRST实例,如果您的字符串类似于"data-123data-"那么

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

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

DEMO

因此,如果您希望将所有文本匹配替换为字符串,则必须使用带有g标志的正则表达式:

 "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中,字符串没有删除函数,但有substr函数。 您可以使用substr函数一次或两次从字符串中删除字符。 你可以使用以下函数来删除字符串末尾的起始索引处的字符,就像c#方法首先重载String.Remove(int startIndex):

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

和/或你也可以使用以下函数来删除start index和count处的字符,就像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()返回一个number变量:

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

以下是上述陈述的内容……中间工作:

  1. str.match(/\d+$/) – 返回一个数组,其中包含str末尾任意数字长度的匹配项。 在这种情况下,它返回一个包含单个字符串项['123']的数组。
  2. Number() – 将其转换为数字类型。 因为从.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!! 

我知道这不是最好的,但它一直对我有用:)

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

这将替换原始字符串中所有特定字符串的出现次数。