2016-10-09 14 views
0

文字列内にテキストがあります。私は文字列内の2つの特定の単語を見つけて、<b>タグでそれらの単語を囲みたい。
私はこのような何かを試してみましたが、それは動作しません:文字列内の特定の単語を囲むタグを囲みます

for (int i = 0; i < bold.Split(' ').Count(); i++) 
{ 
    if (myString.Split(' ')[i].Contains("MyWord")) 
     myString.Split(' ')[i] = "<b" + myString.Split(' ')[i] + "</b"; 
} 

そして、どちらもこの行います。ストリングのすべてのインスタンスを置き換えるために

if (myString.Contains("MyWord")) 
    myString = myString.Replace("MyWord", "<b>MyWord</b>"); 
+0

最初のケースでは、分割によって得られた新しい新しい配列に対して割り当てが行われます。それを初期変数に保存してから割り当てを行う必要があります。 しかし、それは貧しい人々です。 2番目の方が優れており、うまくいくはずです。どのようにテストしましたか? – Cosu

+1

問題は何ですか? 2番目の例では、検索している文字列の具体例を表示できますか? –

+2

2番目の例で何か問題はありません。あなたが得ている結果とあなたが期待しているものは何ですか?ちなみに、 'if'は必要ありません。もし' Replace'を使うのであれば、それが含まれている場合に置き換えて検索を複製します。 –

答えて

1

使用正規表現を。 clbuttic problem - MyWordが長い単語の一部である

Regex.Replace(myString, @"MyWord", "<b>MyWord</b>");

2

第二のアプローチ休憩。あなたは正規表現でそれを避けることができます。

myString = Regex.Replace(myString, @"\bMyWord\b", "<b>MyWord</b>"); 

\bマーカーをMyWordが長い単語の一部であってはならないことを確認してください。

+0

'MyWord.''単語の後に'ドット ' –

関連する問題