對於正則表達式我很新奇,並且試圖從任何字符串中刪除前導下劃線'_'。刪除前導字符的正確方法
replace(/^[_]+/, "")
這有效,但我想確定一下:這是正確的方法嗎?
由於我無法在網絡上找到關於這個特殊問題的很多內容,所以我在這裏提出這個問題。
對於正則表達式我很新奇,並且試圖從任何字符串中刪除前導下劃線'_'。刪除前導字符的正確方法
replace(/^[_]+/, "")
這有效,但我想確定一下:這是正確的方法嗎?
由於我無法在網絡上找到關於這個特殊問題的很多內容,所以我在這裏提出這個問題。
這應該是足夠了:不過
replace(/^_/, '');
這樣的作品,它會刪除前導下劃線的1-n個。例如,_x變成x,但__x變成x;一直到n個主要的下劃線。如果你只是想刪除第一個前導下劃線使用以下命令:
some_string.replace(/^_{1}/, '');
這是使用量詞來,這個量詞是不貪心只匹配1.注意,+量詞是一個或多個和貪婪。你也可以使用非貪婪修飾符的原始代碼?如下:
some_string.replace(/^[_]+?/, '');
最後一個注意事項,在這種情況下,您不需要使用字符類運算符[...]。這不是錯誤或不好的形式,只是不必要的。
謝謝你的澄清! – mBeierl
不需要字符類'replace(/^_ + /,「」)' –
如果你只想刪除一個'_',你也應該刪除'+' – Titus