我需要找到PHP中的方法,以消除使用正則表達式的2串的最後部分刪除字符串的最後一個字符。這樣,一旦他們被剝奪了額外的人物,我可以找到他們之間的匹配。這裏是字符串數據我處理類型的例子:使用正則表達式
categories_widget-__i__
categories_widget-10
所以我想刪除:
-__i__ from the first string
-10 from the second string
在此先感謝。
我需要找到PHP中的方法,以消除使用正則表達式的2串的最後部分刪除字符串的最後一個字符。這樣,一旦他們被剝奪了額外的人物,我可以找到他們之間的匹配。這裏是字符串數據我處理類型的例子:使用正則表達式
categories_widget-__i__
categories_widget-10
所以我想刪除:
-__i__ from the first string
-10 from the second string
在此先感謝。
你可以試試下面的代碼從-
刪除所有字符高達最後。
<?php
$text = <<<EOD
categories_widget-__i__
categories_widget-10
EOD;
echo preg_replace("~-.*$~m","",$text);
?>
輸出:
categories_widget
categories_widget
-
字面-
符號相匹配。並且.*
與符號-
之後的任何字符匹配,直到行的末尾。 $
表示一條線的結束。通過用空字符串替換所有匹配的字符會給你所需的輸出。
$str1 = "categories_widget-__i__";
$str2 = "categories_widget-10";
$arr1 = explode("-", $str1);
$arr2 = explode("-", $str2);
echo $arr1[0];
echo $arr2[0];
如何識別字符串的最後部分?用' - '?你真的不需要regex那 – Sugar 2014-09-01 07:57:36
必須正則表達式嗎? – kefy 2014-09-01 07:57:46
以下所有答案都可以正常工作。 – George 2014-09-01 18:52:17