簡體   English   中英

如何刪除前導和尾隨的非字母數字字符

[英]How can I remove leading and trailing non-alphanumeric characters

我希望從字符串中“修剪”非字母數字,類似於trim()處理空格的方式。

幫我將#str|ng#轉換為str|ng

我可以刪除尾隨的非字母數字:

$string = preg_replace('/\W+$/', '', $string); // converts `#str|ng#` to `#str|ng`

並以:

$string = preg_replace('/^\W+/', '', $string); // converts `#str|ng#` to `str|ng#`

但是我怎樣才能同時完成這兩個任務呢?

嘗試使用像這樣的^\\W+|\\W+$模式:

$string = preg_replace('/^\W+|\W+$/', '', $string); 

這將替換出現在字符串開頭或結尾的任何非單詞字符(請注意,這不包括下划線)。 | 是一個交替,它將匹配與左側模式或右側模式匹配的任何字符串。

如果您還需要刪除下划線,請使用這樣的字符類:

$string = preg_replace('/^[\W_]+|[\W_]+$/', '', $string); 

您不需要正則表達式,使用trim()並指定要修剪的內容(默認情況下會修剪空格):

$string = trim($string, "#");

文檔: http : //php.net/trim

暫無
暫無

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

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