[英]How do I delete banned characters from a string more than once in JS?
我正在嘗試創建一個減少腳本的腳本,例如,“你好。我今天過得很愉快!” 改為“ helloihadagreatdaytoday”。 到目前為止,我僅設法將文本轉換為小寫:^)
我有一串禁止的字符。
var deletthis = ". !";
var a = deletthis.split("");
如您所見,它禁止點,空格和感嘆號,並將該字符串轉換為數組。 然后,我給用戶一個提示,並通過for循環運行返回字符串(q),該循環應刪除被禁止的字符。
for (i=0; i<a.length; i++) {
q = q.replace(a[i], "");
}
但是,這僅禁止字符串中該字符的一個實例。 因此,如果我鍵入“那很好...很好!!!”,它將返回為“那很好...非常好!!”。
任何幫助表示贊賞:)!
您可以為此使用正則表達式。
deletthis.replace(/ /g,'')
該代碼的作用是找到字符串中的空格並將其刪除,
此外,如何刪除字符串中的空格的快速Google會有所幫助
使用正則表達式
a = a.replace(/[\.!]/g, "");
如果您事先不知道字符,可以以防萬一:
a = a.replace(new RegExp("[" + deletethis.split(" ").map(c => "\\" + c).join("") + "]", "g"), "");
使用正則表達式刪除所有不是字母的內容,然后使用LowerCase()
進行大小寫轉換,然后拆分並LowerCase()
以刪除任何空格
let str = "Hello. I had a great day today!" let k = str.replace(/[^a-zA-Z ]/g, "").toLowerCase().split(" ").join(""); console.log(k)
在這種情況下,使用正則表達式可能會更短一些,因為它的輸出是相同的,因此我們可以使用|
這意味着或在正則表達式中:
var str = "Hello. I had a great day today!"; str = str.replace(/\\.| |!/g, "").toLocaleLowerCase(); console.log(str)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.