2011-11-15 11 views
-2

以下の文字列はDIVタグからのものです。だから私は以下の値を囲んだ。文字列内の内容を検索して置き換えます(C#)

String cLocation = "'target="_blank'></a><img alt='testimage.jpg' src='/SPECIMAGE/testimage.jpg'" 

私は"src='xyz/files'""src="/"を変更することにより、上記の文字列に置き換えるしたいと思います。

私は典型的なstring.Replace("old","new")を試しましたが、動作しませんでした。

私はそれが機能しなかった、以下の

cNewLocation ="xyz/files"; 
cNewString = cLocation.Replce("src='/'", "src='" + cNewLocation + "'/") 

を試してみました。

お勧めします。

+0

これは、C#で有効な文字列リテラルではありません。実際のコードを投稿してください。 – Oded

+3

あなたの質問のタイトルには、自分自身に答えるためのキーが含まれていますか、Googleを試してみましたか、回答を投稿している間にStackOverflowの自動提案された投稿を見ましたか? – sll

+4

@sll - グーグルでは、リンクをクリックしてドキュメントを読むという作業が必要です。非常に難しい。 – Oded

答えて

2

私はあなたが求めているものを理解していた場合、あなたはそうのような文字列を置換するために正規表現を使用することができますsrc='/.../src='{newLocation}/に置き換えて正規表現を変更しました

+0

でなければなりません。 – Otiel

+0

@Otiel - ええ、私はOPが探していると思う代用に合わせて正規表現を変更しました。 – CAbbott

+0

@Ocabbott - これまでには動作しませんでした。まだチェックしています。 – Anirudh

1

あなたは、次の操作を行うことができます

var cNewString = Regex.Replace(cLocation, @"src='/.*/", "src='" + newLocation + "/"); 

EDIT:

string cLocation = "'target='_blank'></a><img alt='testimage.jpg' src='/SPECIMAGE/testimage.jpg'"; 
cLocation = cLocation.Replace("src='/'", "src='xyz/files'"); 
+0

私はこれを試しました。うまくいきませんでした – Anirudh

+0

そこに迷子のアポストロフィがあります。おそらく 'cLocation = cLocation.Replace(" src = '/ "、" src =' xyz/files/");' – Carson63000

1

これで問題が解決します:

int start = cLocation.IndexOf("src='") + 5; 
int end = cLocation.LastIndexOf("'"); 
string xcLocation = cLocation.Remove(start, end - start); 
string cLocation = xcLocation.Insert(start , "xyz/files"); 
関連する問題