2015-02-06 97 views
0

之間的字符串我有這個total USD100.75 from string.I我得到的下一個單詞這樣獲取其他兩個字符串

$s = 'total USD100.75 from'; 
$r = preg_match_all('/(?<=(total))(\s\w*)/',$s,$matches); 
print_r($matches[0]); 

但是我想獲得兩個特定的字符串之間的字符串即totalfrom。我怎樣才能得到中間的字符串?

+0

請檢查我的答案,它會解決您的問題。讓我知道你仍然面臨任何問題。 – 2015-02-06 13:15:27

+0

謝謝你的回答.Elon的回答更適合我的情況,而不是你的回答不好。乾杯。 – user3272483 2015-02-06 13:23:51

回答

1

你也可以使用正則表達式,例如。

'/total (.*?) from/' 
0

你可以通過空間分解你的字符串。

$s = 'total USD100.75 from';  
$s1 = explode(" ", $s); 
echo $s1[1]; 

輸出

USD100.75 

Demo

1

使用substrstrlen

echo substr($string, strlen("total "), -strlen(" from")); 
0

常規expressi ons很容易做到這一點。你只需要瞭解基礎知識。 你會實現你想要與下面的模式是什麼:

total\s(.*)\sfrom 
0

@ user3272483,請檢查下面的回答您的解決方案。

$matches = array(); 
preg_match("/total (.*?) from/", 'total USD100.75 from', $matches); 
print_r($matches); 
1

我不知道你的語言的具體情況,但在Java:

(?USD[0-9]+\.[0-9]{2}) 

會工作。

  1. 「USD」,接着
  2. 的一個或多個標記,隨後
  3. 文字 「」,
  4. 後跟兩個數字。

如果你有逗號,你可以嘗試:

(?USD[0-9]{1,3}(,?[0-9]{3})*\.[0-9]{2}) 
  1. 「USD」,其次是1-3的數字,緊接着,
  2. 任意數量的羣體:一個可選的逗號後面由3個標記,隨後
  3. 小數,然後
  4. 兩個數字
+0

偉大的答案Nields.I將使用您的答案,當我在幾個月內將我的應用程序移植到Java。 – user3272483 2015-02-06 13:28:35

相關問題