我正在尝试一次取消设置数组中的几个项目,将未设置的项目发送到另一个数组。
List<string> listString= new List<string>();
listString.ForEach((str, i) => { Func(str, i) , i++});
private ResponseBase Func(string s,int i)
{
此数组中的三个链接以http://www.sohgoh-outline.jp开头。因此,我试图取消这些设置。但不是一一对应。我已经可以了例如,我试图用array(6) {
[0]=> string(65) "https://www.kintetsu-re.co.jp/mansion_kansai/outline/midosuji241/"
[1]=> string(41) "https://geo.8984.jp/outline/suminodo.html"
[2]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0141"
[3]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0136"
[4]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0099"
[5]=> string(53) "https://www.sgr-sumai.jp/mansion/tezukayama21/outline"
}
strpos
但是此错误弹出。
无法取消设置字符串偏移量
有什么建议吗?
答案 0 :(得分:3)
像这样更改代码:
SyncAdapter
答案 1 :(得分:2)
最简单的方法可能是带有preg_grep和array_diff的正则表达式。
$out = preg_grep("/.*?(sohgoh-outline\.jp).*/", $arr);
var_dump($out); //sohgoh-outline.jp links
$arr = array_diff($arr, $out);
var_dump($arr); // all but sohgoh-outline.jp links
以上代码的输出:
array(3) {
[2]=>
string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0141"
[3]=>
string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0136"
[4]=>
string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0099"
}
array(3) {
[0]=>
string(65) "https://www.kintetsu-re.co.jp/mansion_kansai/outline/midosuji241/"
[1]=>
string(41) "https://geo.8984.jp/outline/suminodo.html"
[5]=>
string(53) "https://www.sgr-sumai.jp/mansion/tezukayama21/outline"
}