[英]Javascript .replace() does nothing to string
作為擁有2年以上經驗的Web開發人員,我很尷尬地問這個問題,但是-
以下代碼無法正常工作:
var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[^a-zA-Z,]+/g", "");
如果字符串沒有被刪除,我的意思是即使我將其設置為正則表達式
var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[a-zA-Z,]+/g", "");
它應該替換從a到z的任何字符(大寫和小寫)以及任何逗號,但不能替換。 我已經在瀏覽器和開放式測試環境(例如jsbin.com)中進行了嘗試,結果是相同的。
與我的看法相反,正則表達式可能有問題,它似乎可以獨立運行,這已經通過實時測試工具https://regexr.com/進行了證明。
所以在這里,我想知道到底是什么名字錯了,並且我感謝任何提供幫助的人!
您正在傳遞replace
字符串而不是正則表達式。
從正則表達式周圍刪除"
字符。
它沒有任何作用,因為您試圖替換不存在的字符串"/[a-zA-Z,]+/g"
。
您需要刪除引號以有效使用正則表達式:
var string = "Daln, nik, But, Blaz, wan";
string = string.replace(/[a-zA-Z,]+/g, "");
您沒有將正則表達式作為參數傳遞。 您正在傳遞string
。 根據文檔。
正則表達式文字:由斜線(
//
)之間的模式組成。
您將表達式用""
引號引起來。 這使它成為string
。 如果要使用字符串創建正則表達式,則應刪除""
。 您可以使用RegExp()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.