我有如下因素結構的字符串:獲取分隔符前的第一個字符串?
7_string_12
7_string2_122
7_string3_1223
我怎麼能前第二獲得串「_」?
我希望我的最終結果是:
7_string
7_string2
7_string3
我使用爆炸(「_」,$字符串),並結合前兩個值,但我的劇本很慢!
我有如下因素結構的字符串:獲取分隔符前的第一個字符串?
7_string_12
7_string2_122
7_string3_1223
我怎麼能前第二獲得串「_」?
我希望我的最終結果是:
7_string
7_string2
7_string3
我使用爆炸(「_」,$字符串),並結合前兩個值,但我的劇本很慢!
$str = '7_string_12';
echo substr($str,0,strrpos($str,'_'));
呼應
7_string
不管什麼在字符串
的開頭。如果它總是與7_開始你可以試試這個:
$string = substr($text, 0, strpos($text, '_', 2));
對strpos()搜索第一個_從字符3開始(=字符串中的s)。然後使用substr()選擇從第一個字符開始到由strpos()返回的字符的整個字符串。
$s1 = '7_string_12';
echo substr($s1, 0, strpos($s1, '_', 2));
第一個標記總是一個字符的假設有點危險。 – 2012-10-14 08:07:27
謝謝!我還有一個問題!如何讓此代碼向我顯示以下結果:string?這是爲了顯示分隔符之間的字符串。提前致謝 ! – dido 2012-01-11 11:33:14
@dilyan_kn'preg_match('/ _(\ S +)_ /',$ str,$ m); echo $ m [1];' – k102 2012-01-11 11:38:15
請注意,如果輸入不像'7_string2_abc_123',substr($ str,0,strrpos($ str,'_'))'可以。因爲輸出將是'7_string2_abc'。 – yasouser 2014-01-02 18:28:26