第4章 字串操作與正規表示式

2022-08-20 08:24:09 字數 2153 閱讀 6691

1.清理字串中多餘的空格: trim()

如:$name=trim($_post[『name』]);

trim()將除去字串開始位置、結束位置的空格,再返回處理後的字串;預設出去換行符、回車符(\n,\r),水平、垂直製表符(\t,\x0b),字串結束符(\0)和空格,除此之外,可通過trim()的第二個引數提供需除去的其他特殊字元;

//ltrim() rtrim()分別是 從字串的開始處除去空格、從字串的結束處除去空格

2.重新格式化字串:

①使用html格式化:nl2br()

該函式將用

代替字串中的換行符,因為html會忽略純空格,若不用nl2br()函式來過濾輸出結果,將會是單獨的一行字串無法換行;

②為列印輸出而格式化字串:printf() sprintf()  //類似於c裡面的printf,printf()無返回型別,sprintf()返回string型別

%符號後可新增引數位置,以$符號結束,如「2\$」指「用列表中的第二個引數替換」;

* 對應vprintf() vsprintf() 其可接受的引數為格式字串和引數陣列;

③改變字串中的字母大小寫:

strtoupper();  //將字串轉換為大寫

strtolower();   //將字串轉換為小寫

ucfirst();   //若字串首字元為字母,則將該字元轉換為大寫

ucwords();  //將字串每個單詞的首字母轉換為大寫

④格式化字串以便儲存:addslashes()  stripslashes()

一些字元(單雙引號、反斜槓\、null字元)會被資料庫解釋成控制符,故需用函式對字串進行轉義;

addslashes()會為引號加上\,反斜槓變成\\,\\變成\\\\等;

stripslashes()將移除addslashes()為格式化所加上的反斜槓;

3.連線和分割字串:

①explode(分隔符,字串);  【分割】 | 【連線】  implode(分隔符,字串陣列); //join()與implode()效果相同

②分割:strtok(字串,分隔符);  //分隔符可以是乙個字元,也可以是乙個字串

③獲得子字串:substr($teststring,st,ed);

//返回從第st-1(若st為負數,則是倒數第st)個到第ed-1(若ed為負數,則是倒數第ed)個字元(因為是從0開始)

4.字串的比較:

strcmp(str1,str2);  //按字典序排列,若str1==str2,返回0;若str1>str2,返回正數;若str1strcasecmp(str1,str2);  //strcmp()的不區分大小寫版本

strnatcmp() strnatcasecmp()  //按「自然順序」而不按字典序排列,字典序認為2>12,而「自然順序」則按人們習慣的順序2<12

5.在字串中查詢字串:strstr();

strchr()與strstr()完全相同,stristr()是strstr()的不區分大小寫版本,strrchr()會從最後出現目標關鍵字的位置的前面返回被搜尋字串;

6.查詢子字串的位置:

strpos();  //返回第一次出現目標關鍵字(關鍵字可以是任意長度的字串)的位置(第乙個字元的位置是0);

strrpos();  //返回最後一次出現目標關鍵字(關鍵字可以是任意長度的字串)的位置(第乙個字元的位置是0);

//若目標關鍵字不在字串中,上述函式都會返回false,而false在php中會等於0,即會被當作是字串的第乙個字元,故用===進行判斷而不用==

7.替換子字串:

str_replace(需被替換的子字串,用於替換的新子字串,字串,要執行的替換次數);  //替換次數預設為1

substr_replace(原字串,用於替換的字串,初始位置,偏移量);

8.正規表示式。。。好雜啊 前面的匹配字元就。。不列了。。列幾個函式。。

①用正規表示式查詢子字串:ereg(『正規表示式』,str_search);   //eregi(); 不區分大小寫

②用正規表示式替換子字串:str_replace(『正規表示式』,用來替換的字串,str_search);  //eregi_replace();

③用正規表示式分割字串:split(『正規表示式』,str_search);

字串與正規表示式

一.字串 1.格式化浮點數字 f 1.25 輸出 1.250000 預設輸出小數點後的6位數字 2f 1.25 輸出 1.25 精確到小數點後兩位 2.字串與日期的轉換 例 import time,datetime time.strftime y m d x time.localtime t tim...

字串 4 正規表示式匹配

coding utf 8 class solution s,pattern都是字串 def match self,s,pattern write code here 兩者都為空,返回真 if len s 0 and len pattern 0 return true 僅有模式位空,返回假 if le...

Python 字串與正規表示式

alist list range 1 1001 blist list map str alist cstr join blist dstr cstr str sum range 1 1001 print dstr open text.txt w write dstr import os print ...