在第一个和第三个角色出现之间获取字符串

时间:2015-06-29 08:28:58

标签: php substring

我有很多字符串看起来像这样: QR-DF-6549-1和QR-DF-6549

我想获得字符串的这些部分: DF-6549

修改 所以我也希望最后摆脱“-1”,万一它存在。

我怎么能用PHP做到这一点?我知道substr但是我在这一点上有点迷失。

非常感谢!

1 个答案:

答案 0 :(得分:2)

正则表达式可能是给出样本数据的最佳方法

//  ^    start matching at start of string
//  [A-Z]{2}-  must start with two capital letters and a dash
//  (    we want to capture everything that follows
//  [A-Z]{2}-  next part must start with two capital letters and a dash
//  \d+  a sequence of one or more digits
//  )    end the capture - this will be index 1 in the $match array allowed
if (preg_match('/^[A-Z]{2}-([A-Z]{2}-\d+)/', $str, $match)) {
    $data=$match[1];
}