我想使用php lang从特殊世界中删除部分字符串,例如:
$string1 = "xABCb1/DEF/GHI/GKL";
$string2 = "yABCz/DEF/MNO/PQR";
$string3 = "zABC1112/DEF/STU/VWX";
我想删除之前的所有单词(DEF),结果如下所示
$string1 = "DEF/GHI/GKL";
$string2 = "DEF/MNO/PQR";
$string3 = "DEF/STU/VWX";
之前的单词(DEF)不是静态的。它正在改变。我只想让函数清除之前的所有单词(DEF)
答案 0 :(得分:1)
有很多方法可以做你想要的事情,比如字符串替换函数,正则表达式等等。但这是我使用strstr()的方式,因为我总是尝试使用内置方法,而不是在第一个使用正则表达式。
matplotlib
<强>输出:强>
$string1 = "xABCb1/DEF/GHI/GKL";
$string2 = "yABCz/DEF/MNO/PQR";
$string3 = "zABC1112/DEF/STU/VWX";
echo strstr($string1, 'DEF')."\n";
echo strstr($string2, 'DEF')."\n";
echo strstr($string3, 'DEF');
请参阅演示:https://eval.in/969773
答案 1 :(得分:0)
正则表达式为这种原始字符串操作提供了一个非常强大的工具:
<?php
$input = [
"xABCb1/DEF/GHI/GKL",
"yABCz/DEF/MNO/PQR",
"zABC1112/DEF/STU/VWX"
];
$anchor = "DEF";
$output = preg_replace('|^.*/(DEF/)|', '$1', $input);
print_r($output);
上述代码的输出显然是:
Array
(
[0] => DEF/GHI/GKL
[1] => DEF/MNO/PQR
[2] => DEF/STU/VWX
)
答案 2 :(得分:0)
$string1 = "xABCb1/DEF/GHI/GKL";
$string2 = "yABCz/DEF/MNO/PQR";
$string3 = "zABC1112/DEF/STU/VWX";
$string1 = ltrim($string1, 'xABCb1/');
var_dump($string1);
$string2 = ltrim($string2, 'yABCz/');
var_dump($string2);
$string3 = ltrim($string3, 'zABC1112/');
var_dump($string3);
<强>输出强>
DEF/GHI/GKL
DEF/MNO/PQR
DEF/STU/VWX