获取其他两个字符串
问题描述:
之间的字符串我有这个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”,接着
- 的一个或多个标记,随后
- 文字 “”,
- 后跟两个数字。
如果你有逗号,你可以尝试:
(?USD[0-9]{1,3}(,?[0-9]{3})*\.[0-9]{2})
- “USD”,其次是1-3的数字,紧接着,
- 任意数量的群体:一个可选的逗号后面由3个标记,随后
- 小数,然后
- 两个数字
+0
伟大的答案Nields.I将使用您的答案,当我在几个月内将我的应用程序移植到Java。 – user3272483 2015-02-06 13:28:35
请检查我的答案,它会解决您的问题。让我知道你仍然面临任何问题。 – 2015-02-06 13:15:27
谢谢你的回答.Elon的回答更适合我的情况,而不是你的回答不好。干杯。 – user3272483 2015-02-06 13:23:51