我有一点问题需要排序。我想要删除一部分字符串或拆分它。
所以基本上我有这个:一,二,二,三.3 我想要最终做的是分成2个变量,其中我有“一,二,三”和“1,2,3”,我不确定我是否可以将它分成两个或者如果我必须删除后的部分“ - ”然后再次执行此操作以删除“ - ”之前的位以最终得到两个变量。无论如何我看了一下,似乎preg_split或preg_match可能有用,但不知道preg模式。
这是我到目前为止所做的:
$string = 'One-1, Two-2, Three-3';
$pattern = '????????????';
preg_match_all($pattern, $string, $matches);
print_r($matches);
编辑:对不起,我的问题措辞不对:
基本上如果有人可以帮助我使用preg模式来拆分值,所以我有一个数组,一个,两个三个和一个,二个,三个
任何指导意见
伊恩
如果可以,我还有另外一个问题,如果我有这个问题,preg_match怎么会改变呢? :
“一个对象-1,两个对象-2”所以现在我在“ - ”之前有多个单词想要一起存储而单独存在“1”?
答案 0 :(得分:1)
试试这个:
$string = 'One-1, Two-2, Three-3';
$pattern = '/(?P<first>\w+)-(?P<second>\w+)/';
preg_match_all($pattern, $string, $matches);
print_r($matches['first']);
print_r($matches['second']);
输出:
Array ( [0] => One [1] => Two [2] => Three )
Array ( [0] => 1 [1] => 2 [2] => 3 )
答案 1 :(得分:0)
如果您总是使用“ - ”,请改用:
$string = "One-1";
$args = explode("-", $string);
// $args[0] would have One
// $args[1] would have 1
您可以在此处详细了解此功能:http://php.net/manual/en/function.explode.php
答案 2 :(得分:0)
这应该有效:
[^-]+
但为什么要使用正则表达式呢?你可以简单地用“ - ”爆炸