簡體   English   中英

僅從字符串的開頭和結尾刪除非字母數字字符

[英]Remove non-alphanumeric characters from start and end of string only

我試圖使用幫助程序exe(C#)清理一些數據。

我遍歷每個字符串,我想從字符串的開頭和結尾刪除無效字符,即從$$$helloworld$$$刪除美元符號。

使用此正則表達式可以正常工作: \\W

但是,中間包含無效字符的字符串應該保持hello$$$$world ,即hello$$$$world是正常的,我的正則表達式不應該與此特定字符串匹配。

所以從本質上講,我試圖找出在字符串的開頭和結尾匹配無效字符的語法,但是在其主體中保留包含無效字符的字符串。

謝謝你的幫助!

這樣做了!

(^[\W_]*)|([\W_]*$)

這個regex在開頭( ^ )或( | )結束時匹配零個或多個非單詞字符( $

以下應該有效:

^\W+|\W+$

^$分別是字符串開頭和結尾的錨點。 | 中間是OR,所以這個正則表達式意味着“要么在字符串的開頭匹配一個或多個非單詞字符,要么匹配字符串末尾的一個或多個非單詞字符”。

使用^匹配字符串的開頭,使用$匹配字符串的結尾。 C#Regex備忘單

試試這個,

 (^[^\w]*)|([^\w]*$)

使用^來匹配'line of line'和$匹配'end of line',即你的代碼應匹配並刪除^ \\ W *和\\ W * $

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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