1
私はいくつかのURLを含むデータベースからの文字列を持っています。古いURLを新しいURLに置き換えようとしています。 URLを含む文字列は{s:5:"hello"}
と書式化されているため、古い文字列の長さも新しい文字列で置き換える必要があります。古いURLを新しいURLに置き換える
私は明らかに"/wp-content/uploads/2017/06/logo.png".Length
を返さない
"somelongstring; 35; '%site_url%'; s:26:\"http://localhost/arearaf/wp-content/uploads/2017/06/logo.png\"; someotherlongstring; s:26:\"http://localhost/arearaf/wp-content/uploads/2017/06/logo-150x150.png\";"
が生じたが、
"somelongstring; 35; '%site_url%'; s:60:\"http://localhost/arearaf/wp-content/uploads/2017/06/logo.png\"; someotherlongstring; s:68:\"http://localhost/arearaf/wp-content/uploads/2017/06/logo-150x150.png\";"
"$1".Length
でなければなりません
var url = "http://localhost/arearaf";
var text = "somelongstring; 35; '%site_url%'; s:46:\"%site_url%/wp-content/uploads/2017/06/logo.png\"; someotherlongstring; s:54:\"%site_url%/wp-content/uploads/2017/06/logo-150x150.png\";";
var result = Regex.Replace(text, @"s:\d+:\" + "\"%site_url%(.*?)\";", "s:" + (url.Length + "$1".Length) + @":\" + "\"" + url + "$1" + @"\" + "\";");
を試してみました。置換えごとにキャプチャグループの長さを取得するにはどうすればよいですか?また、問題を正しく処理していますか?そうでない場合、私は何をしますか?
は、この形式
{s:5:"hello"}
は名前か何かを持っていませんか?私はそれをGoogleにすることはできません。私が見つけることができる最も近いものは、Content Management Systemを表すCMSです。まだ、十分ではありません。
を、私はそれがあるので、 『INT』を入力し、「ラムダ式を変換できません。ビジュアルC#2010 Expressを使用して、このエラーを取得していますデリゲート型ではありません "。私は何が欠けていますか? – akinuri
@akinuri:.NET Frameworkのバージョンとは何ですか? –
4クライアントプロファイル。私はそれを変更する必要がありますか? – akinuri