我想寫一個字符串'清理'功能,只允許字母數字字符,再加上其他幾個字符,如下劃線,句號和減號(破折號)字符。您可以構建一個RegEx以用下劃線替換不想要的字符嗎?
目前我們的函數使用源字符串的直接字符迭代,但我試圖將其轉換爲正則表達式,因爲從我一直在閱讀的內容來看,它更清晰和更高效(這似乎是對我而言倒退直接迭代,但我不能簡介,直到我得到一個正常工作RegEx。)
這個問題對我來說是雙重的。一,我知道下面的正則表達式...
[a-zA-Z0-9]
...相匹配的一系列字母數字字符,但我怎麼也包括下劃線,週期和負字符?你只是用'\'字符將它們轉義出來,並將它們與其餘的括號放在括號內?其次,對於不屬於匹配部分的任何字符(即'?'等其他標點符號),我們希望它替換爲下劃線。
我的想法是相反匹配一系列所需字符,我們匹配不在所需範圍內的單個字符,然後替換它。我認爲正則表達式是包括克拉作爲這樣的括號之間的第一個字符...
[^a-zA-Z0-9]
這是正確的方法嗎?
Regex.Replace()方法是你所需要的 – terrybozzio
我想通這一點,但請參閱我的問題,或者說上面的兩個問題與它有關。 – MarqueIV
你想反轉你的角色類。即。 '[^ a-zA-Z0-9]',它將匹配所有不是字母數字的。 –