簡體   English   中英

Javascript .replace()不執行任何字符串操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM