如何在符号前获取字符串

时间:2018-01-22 21:19:53

标签: php explode strstr

我有字符串

TEST #1 - Description
TEST #2 / Description
...

我需要在#之前获取字符串,但需要#1,输出:TEST #1

strstr($str, '#', true);

这些代码输出: TEST 我需要 TEST#1

1 个答案:

答案 0 :(得分:1)

如果格式一致( 空间 数字),则:

$parts  = explode(' ', $str);
$result = $parts[0] . ' ' . $parts[1];

我假设数字可以是多位数,因此您需要正则表达式:

preg_match('/[^#]+#\d+/', $str, $match);
echo $match[0];

如果你需要多个一个字符串,那么:

preg_match_all('/[^#]+#\d+/', $str, $matches);
print_r($matches[0]);

无论哪种方式匹配:

  • [^#]+一个或多个+^ #字符
  • 后跟#字符
  • 后跟一个或多个+数字\d