2017-03-16 17 views
1

對於正則表達式我很新奇,並且試圖從任何字符串中刪除前導下劃線'_'。刪除前導字符的正確方法

replace(/^[_]+/, "") 

這有效,但我想確定一下:這是正確的方法嗎?

由於我無法在網絡上找到關於這個特殊問題的很多內容,所以我在這裏提出這個問題。

+2

不需要字符類'replace(/^_ + /,「」)' –

+2

如果你只想刪除一個'_',你也應該刪除'+' – Titus

回答

3

這應該是足夠了:不過

replace(/^_/, '');

1

這樣的作品,它會刪除前導下劃線的1-n個。例如,_x變成x,但__x變成x;一直到n個主要的下劃線。如果你只是想刪除第一個前導下劃線使用以下命令:

some_string.replace(/^_{1}/, ''); 

這是使用量詞來,這個量詞是不貪心只匹配1.注意,+量詞是一個或多個和貪婪。你也可以使用非貪婪修飾符的原始代碼?如下:

some_string.replace(/^[_]+?/, ''); 

最後一個注意事項,在這種情況下,您不需要使用字符類運算符[...]。這不是錯誤或不好的形式,只是不必要的。

+0

謝謝你的澄清! – mBeierl