获取字符的子字符串,直到第一次出现点或短划线

时间:2015-03-04 13:08:36

标签: php regex string

如何指定要返回包含字符串开头的所有字符的子字符串,但不包括第一个点或短划线?

例如,如果原始字符串是:

'abcdefg.hij-k'

或者如果原始字符串是:

'abcdefg.hi-j.k.l.mn-op'

然后是相同的子串:

'abcdefg'

应该退回。

这里的关键是可能有多个点和短划线随机出现,我们只对第一块字符感兴趣。

编辑: 可能首先出现点或短划线。

2 个答案:

答案 0 :(得分:2)

您可以使用preg_split:

$res = preg_split('/[-.]/', $string);

您想要的字符串位于$res[0]

或preg_match:

preg_match('/^([^-.]+)/', $string, $matches);

结果位于$match[1]

答案 1 :(得分:-1)

尝试使用explode function

$final = explode(".", $originalstr);

首先应该是$final[0];