我有很多字符串看起来像这样: QR-DF-6549-1和QR-DF-6549
我想获得字符串的这些部分: DF-6549
修改 所以我也希望最后摆脱“-1”,万一它存在。
我怎么能用PHP做到这一点?我知道substr但是我在这一点上有点迷失。
非常感谢!
答案 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];
}