如何从点或词的字符串 strat 中删除部分?
How to remove part from string strat from point or word?
我想使用 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)
之前的所有单词
这里有很多方法可以满足您的需求,例如字符串替换函数、正则表达式等。但这是我使用 strstr() 的方式,因为总是尝试使用内置方法而不是在 first.
处使用正则表达式
$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');
输出:
DEF/GHI/GKL
DEF/MNO/PQR
DEF/STU/VWX
正则表达式为这种原始字符串操作提供了一个非常强大的工具:
<?php
$input = [
"xABCb1/DEF/GHI/GKL",
"yABCz/DEF/MNO/PQR",
"zABC1112/DEF/STU/VWX"
];
$anchor = "DEF";
$output = preg_replace('|^.*/(DEF/)|', '', $input);
print_r($output);
上面代码的输出显然是:
Array
(
[0] => DEF/GHI/GKL
[1] => DEF/MNO/PQR
[2] => DEF/STU/VWX
)
$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
我想使用 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)
之前的所有单词这里有很多方法可以满足您的需求,例如字符串替换函数、正则表达式等。但这是我使用 strstr() 的方式,因为总是尝试使用内置方法而不是在 first.
处使用正则表达式$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');
输出:
DEF/GHI/GKL
DEF/MNO/PQR
DEF/STU/VWX
正则表达式为这种原始字符串操作提供了一个非常强大的工具:
<?php
$input = [
"xABCb1/DEF/GHI/GKL",
"yABCz/DEF/MNO/PQR",
"zABC1112/DEF/STU/VWX"
];
$anchor = "DEF";
$output = preg_replace('|^.*/(DEF/)|', '', $input);
print_r($output);
上面代码的输出显然是:
Array
(
[0] => DEF/GHI/GKL
[1] => DEF/MNO/PQR
[2] => DEF/STU/VWX
)
$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