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

IT技术 javascript string
2021-01-25 07:08:31

我有一个data-123字符串。

data-离开时如何从字符串中删除123

6个回答

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

文档。


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

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

PS:replace函数返回一个新字符串,原字符串不变,所以使用replace()调用后的函数返回值。

对于要丢弃的所有事件,您可以使用 replaceAll
2021-03-29 07:08:31
如何替换多个表达式?您是否必须使用多个 .replace 调用?
2021-04-08 07:08:31

这与 jQuery 没有任何关系。您可以replace为此使用 JavaScript函数:

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

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

str = str.replace(/[^0-9\.]+/g, "");
你能解释一下正则表达式的作用吗?我不明白为什么它会替换除数字以外的字符串(如果0-9有指示)。
2021-03-12 07:08:31
@rotimi-best[^0-9\.]意味着它将捕获任何不是数字或句点的字母注意第一个方括号后面的插入符号。
2021-04-02 07:08:31

您可以使用"data-123".replace('data-','');,如提及,但replace()只是取代了FIRST匹配的文本的情况下,如果你的字符串是像"data-123data-"然后

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

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

演示

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

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

你的输出将是 "123"

演示2

您可以使用 slice(),如果您事先知道需要从原始字符串中切出多少个字符。它返回给定起点到终点之间的字符。

string.slice(start, end);

以下是一些显示其工作原理的示例:

var mystr = ("data-123").slice(5); // This just defines a start point so the output is "123"
var mystr = ("data-123").slice(5,7); // This defines a start and an end  so the output is "12"

演示

普通的旧 JavaScript 就足够了 - jQuery 对于这样一个简单的任务不是必需的:

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

有关 其他信息和用法,请参阅:.replace()MDN 上的文档