如何替換以'a'開始並以'z'結尾的字符串?將一個自定義字符串替換爲另一個自定義字符串
基本上我希望能夠做與str_replace相同的事情,但對「乾草堆」中兩個字符串之間的值無動於衷。
是否有內置函數?如果沒有,我將如何高效地完成一個完成它的功能?
如何替換以'a'開始並以'z'結尾的字符串?將一個自定義字符串替換爲另一個自定義字符串
基本上我希望能夠做與str_replace相同的事情,但對「乾草堆」中兩個字符串之間的值無動於衷。
是否有內置函數?如果沒有,我將如何高效地完成一個完成它的功能?
$string = "I really want to replace aFGHJKz with booo";
$new_string = preg_replace('/a[a-zA-z]+z/', 'boo', $string);
echo $new_string;
要警惕正則表達式,你想找到第一個z或最後一個z?它只是字母之間可以介於?字母數字?在我可以擴展正則表達式之前,需要解釋各種場景。
完美。謝謝。當我可以的時候回答 – maxhud
@Rawkode嘿,不是說這隻會匹配A和Z之間的字母字符,而不是所有可能成爲問題的符號。 –
爲什麼''/ a [a-zA-z] + z /''?通過這樣做,您只允許在字符串中使用a-z和A-z字符。 ''/ A. * Z /''更好 –
這可以用正則表達式(簡稱RegEx)來完成。 下面是一個簡單的例子:
$string = 'coolAfrackZInLife';
$replacement = 'Stuff';
$result = preg_replace('/A.*Z/', $replacement, $string);
echo $result;
上面的例子將返回coolStuffInLife
就有點解釋givven正則表達式/A.*Z/
:
- 斜槓表示開始和結束正則表達式;
- A和Z是您需要替換的開始和結束字符;
- .
匹配任何單個的性格特徵
- *
零個或多個指定的字符(在我們的情況 - 所有的)
- 您可以選擇希望使用+
而不是*
,只有當它們之間存在某種差異時纔會匹配
請查看Rubular.com獲取簡單的wa y來測試您的RegEx。它還提供了短期的正則表達式參考
聽起來象是正規表達式 –
你看着http://www.php.net/manual/en/ref.pcre.php – Fluffeh