用PHP正則表達式清除字符串的空白

2020-12-22 站長之家
首頁

 > 

語言

 > 

關鍵詞

 > 

php最新資訊

 > 

正文

用PHP正則表達式清除字符串的空白

我們經常會處理來自用戶輸入或從資料庫中讀取的數據,可能在你的字符串中有多餘的空白或制表符,回車等。存儲這些額外的字符是有點浪費空間的。

如果您想要去掉字符串開始和結束的空白可以使用PHP內部函數trim() 。但是, 我們經常想完全清除空白。需要把開始和結束的空白清除掉,將多個空白變為一個空白,使用一個規則來處理同樣的類型的其它空白。

完成這些可以使用PHP的正則表達式來完成

下例可以去除額外Whitespace

<?php

$str = " This line  contains\tliberal \r\n use of   whitespace.\n\n";

// First remove the leading/trailing whitespace

//去掉開始和結束的空白

$str = trim($str);

// Now remove any doubled-up whitespace

//去掉跟隨別的擠在一塊的空白

$str = preg_replace('/\s(?=\s)/', '', $str);

// Finally, replace any non-space whitespace, with a space

//最後,去掉非space 的空白,用一個空格代替

$str = preg_replace('/[\n\r\t]/', ' ', $str);

// Echo out: 'This line contains liberal use of whitespace.'

echo "<pre>{$str}</pre>";

?>

上例一步一步的去掉所有的空白。首先我們使用trim()函數來去掉開始和結束的空白。然後,我們使用preg_replace() 去除重複的。\s代表任何whitespace 。(?=) 表示向前查找 。它味著只匹配後面有和它本身相同字符的字符。所以這個正則表達式的意思是: "被whitespace 字符跟隨的任何whitespace 字符。" 我們用空白來替換掉,這樣也就去除了,留下的將是唯一的whitespace 字符。

最後, 我們使用另一個正則表達式[\n\r\t]來查找任何殘餘的換行符(\n), 回車(\r), 或制表符(\t) 。我們用一個空格來替換這些。

相關焦點

  • php正則表達式基本知識與應用詳解
    ① 有哪些常用的轉義字符② 什麼是限定符與定位符③ 什麼是單詞定位符④ 特殊字符有哪些⑤ 什麼是逆向引用以及怎樣使用逆向引用⑥ 匹配模式⑦ php中怎樣使用正則表達式⑧ php中哪些方面需要用到正則⑨ 怎樣進行郵箱匹配,url匹配,手機匹配⑩ 怎樣使用正則替換字符串中某些字符⑪ 貪婪匹配與惰性匹配區別
  • PHP正則表達式的快速學習方法
    /([a-z][A-Z][0-9])+/上述正則表達式將會與任何由字母和數字組成的字符串,如 「aB0」 等相匹配。這裡需要提醒用戶注意的一點就是可以在正則表達式中使用 「()」 把字符串組合在一起。「()」符號包含的內容必須同時出現在目標對象中。因此,上述正則表達式將無法與諸如 「abc」等的字符串匹配,因為「abc」中的最後一個字符為字母而非數字。
  • PHP自定義函數刪除字符串中出現的空白、回車、換行
    自定義函數:trimall($str); 自定義函數的特點:可以刪除字符串的空白、回車、和換行符以及其它服務,完全可以自定義  function trimall($str)//刪除空格  {
  • 左手用R右手Python系列13——字符串處理與正則表達式
    今天這一篇只給大家簡單介紹正則表達式基礎,涉及到一些常用的字符及符合含義,以及其在R語言和Python中所支持的常用函數。R語言中有兩套支持正則表達式的函數,基礎函數和stringr包中的字符串處理函數系統。
  • Python數據分析:強大字符串處理工具,正則表達式!
    正則表達式是處理字符串的強大工具。作為一個概念而言,正則表達式對於Python來說並不是獨有的。 正則表達式是一個特殊的字符序列,它能幫助開發人員方便的檢查一個字符串是否與某種模式匹配。Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。re 模塊使 Python 語言擁有全部的正則表達式功能。
  • 正則表達式
    在我看來,正則表達式的主要用途有兩種:①查找特定的信息②查找並編輯特定的信息,也就是我們經常用的替換。。比如我們要在Word,記事本等裡面使用快捷鍵Ctrl+F,進行查找一個特定的字符,或者替換一個字符,這就使用了正則表達式。         正則表達式的功能非常強大,尤其是在文本數據進行處理中顯得更加突出。
  • python正則表達式
    209'''210正則表達式 r'\d$'匹配以數字 0 到 9 結束的字符串。289'''290robocop = re.compile(r'robocop', re.I)291robocop.search('RoboCop is part man, part machine, all cop.').group()292293#7.12用sub()方法替換字符串294'''295正則表達式不僅能找到文本模式, 而且能夠用新的文本替換掉這些模式
  • Matlab 正則表達式
    1 引言正則表達式(Regular Expression),又稱規則表達式,本質上是一串字符,它定義了某種字符串模式,通常被用來檢索、替換那些符合某個模式(規則)的文本。假設我們要在文本中搜索美國的社會安全號碼,號碼的格式是 000-00-0000,那麼匹配它的正則表達式可以寫為 \d{3}\-\d{2}\-\d{4}。注意到 - 是特殊字符,所以用 \- 進行了轉義。
  • 超好用的6種正則表達式,前端開發人員必知!
    因此,通過將所有無效字符放在其中並在正則表達式的末尾添加一個全局(g)標誌,可從字符串中有效刪除這些字符。注意,在字符類中,反斜槓具有特殊含義,必須用另一個反斜槓進行轉義:\\。操作符+重複字符類,以便同時替換無效字符序列,這有助於提升性能。可省略它而不影響結果。請記住,除非想用另一個字符替換無效字符,否則replace()方法的第二個參數必須是空字符串。
  • 正則表達式語法
    原子是正則表達式中最基本的組成單位,每個正則表達式中至少包含一個原子。
  • VBS正則表達式
    該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。這裡有一些可能會遇到的正則表達式示例:Visual Basic VBscript. 匹配scripting Edition/^\[ \t]*$/ "^\[ \t]*$" 匹配一個空白行。
  • 正則表達式必須掌握的三個知識點,你知道多少?
    正則表達式又稱為規則表達式(模式表達式),它自身有完整的語法,為我們提供了一種更加靈活的字符串處理方法,正則表達式功能遠比php字符串函數強大的多。正則表達式通過特定的模式,與輸入的字符串比較,實現字符串的匹配、查找、替換等操作。這些模式的字符串,放在特定的正則表達式函數中使用才有效果。比如說「/\w+([-+.]
  • Python正則表達式總結
    正則表達式中^表示匹配行的開頭,默認模式下它只能匹配字符串的開頭;而在多行模式下,它還可以匹配 換行符\n後面的字符。注意:正則語法中^匹配行開頭、\A匹配字符串開頭,單行模式下它兩效果一致,多行模式下\A不能識別\n。5.
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。導入re模塊的代碼比較簡單,它是這樣的:Import re今天的學習內容就是使用正則表達式匹配字符串。
  • 看完你就會正則表達式了
    以下是正文(為了適應難度,做了稍許調整)1.什麼是正則表達式正則表達式,又稱正規表示式、正規表示法、正規表達式、規則表達式、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串。
  • Oracle 正則表達式(一)
    Oracle的正則表達式(regular expression)簡單介紹目前,正則表達式已經在很多軟體中得到廣泛的應用
  • Python:正則表達式基本符號總結
    字符串是我們在編程的時候很常用的一種數據類型,檢查會在字符串裡面查找一些內容,對於比較簡單的查找,字符串裡面就有一些內置的方法可以處理,對於比較複雜的字符串查找,或者是有一些內容經常變化的字符串裡面查找,那麼字符串內置的查找方法已經不好使了,滿足不了我們的要求,這個時候就得用正則表達式了,正則表達式就是用來匹配一些比較複雜的字符串。
  • Perl教程 - 正則表達式
    ,它與Tcl等語言中的正則表達式有一定的相似之處,因此如果學習過相關正則表達式的話這個不會很難。如果加上該修飾符,表達式中的空白字符將會被忽略,除非它已經被轉義。       s/<pattern>/<replacement>/g 表示把待處理字符串中所有符合<pattern>的模式全部替換為<replacement>字符串.
  • 正則表達式--最牛最全最宜學習s的一篇
    正則表達式定義  正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。  正則表達式是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。
  • Python中使用re模塊實現正則表達式的分割字符串操作
    第八十四節:正則表達式實現分割字符串操作分割字符串的方法在前面就學習過,用正則表達式實現分割字符串,使用的依然是split()方法,分割後也是返回一個列表,不同點在哪裡呢?Python中如何分割、合併字符串:str.split(sep,maxsplit)再來看使用正則表達式