如何从JavaScript中删除字符串中的文本?
我有一个以data-123
为值的字符串。 如何在jQuery
或Javascript
进入并从字符串中删除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 replace
function:
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
以下是上述陈述的内容……中间工作:
-
str.match(/\d+$/)
– 返回一个数组,其中包含str
末尾任意数字长度的匹配项。 在这种情况下,它返回一个包含单个字符串项['123']
的数组。 -
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');
这将替换原始字符串中所有特定字符串的出现次数。