之間的字符串我有這個total USD100.75 from
string.I我得到的下一個單詞這樣獲取其他兩個字符串
$s = 'total USD100.75 from';
$r = preg_match_all('/(?<=(total))(\s\w*)/',$s,$matches);
print_r($matches[0]);
但是我想獲得兩個特定的字符串之間的字符串即total
和from
。我怎樣才能得到中間的字符串?
之間的字符串我有這個total USD100.75 from
string.I我得到的下一個單詞這樣獲取其他兩個字符串
$s = 'total USD100.75 from';
$r = preg_match_all('/(?<=(total))(\s\w*)/',$s,$matches);
print_r($matches[0]);
但是我想獲得兩個特定的字符串之間的字符串即total
和from
。我怎樣才能得到中間的字符串?
你也可以使用正則表達式,例如。
'/total (.*?) from/'
使用substr
和strlen
:
echo substr($string, strlen("total "), -strlen(" from"));
常規expressi ons很容易做到這一點。你只需要瞭解基礎知識。 你會實現你想要與下面的模式是什麼:
total\s(.*)\sfrom
@ user3272483,請檢查下面的回答您的解決方案。
$matches = array();
preg_match("/total (.*?) from/", 'total USD100.75 from', $matches);
print_r($matches);
我不知道你的語言的具體情況,但在Java:
(?USD[0-9]+\.[0-9]{2})
會工作。
如果你有逗號,你可以嘗試:
(?USD[0-9]{1,3}(,?[0-9]{3})*\.[0-9]{2})
偉大的答案Nields.I將使用您的答案,當我在幾個月內將我的應用程序移植到Java。 – user3272483 2015-02-06 13:28:35
請檢查我的答案,它會解決您的問題。讓我知道你仍然面臨任何問題。 – 2015-02-06 13:15:27
謝謝你的回答.Elon的回答更適合我的情況,而不是你的回答不好。乾杯。 – user3272483 2015-02-06 13:23:51