1

リンクを含む文字列があります。例:

www.google.com;www.yahoo.com;www.gmail.com

私の質問は、これらのリンクを分離して、すべてのリンクにタグを追加し、リンク<a>の最後にタグを追加するにはどうすればよい</a>ですか?

私はこれを取得する必要があります:

<a>www.google.com</a>;<a>www.yahoo.com</a>;<a>www.gmail.com</a>

解決策ができるだけ簡単で、そのIndexOf方法を使用していただければ幸いです。

4

5 に答える 5

5

そのコードは仕事をするはずです:

var input = "www.google.com;www.yahoo.com;www.gmail.com";
var result = string.Join(";", input.Split(';').Select(x => string.Format("<a>{0}</a>",x)));
于 2013-03-16T17:42:44.927 に答える
3
var links = "www.google.com;www.yahoo.com;www.gmail.com";
var result = String.Join(";", links.Split(';').Select(s => String.Format("<a>{0}</a>", s)));
于 2013-03-16T17:43:03.790 に答える
2

最も簡単な方法:

var result = "<a>" + String.Join("</a>;<a>", input.Split(new char[] { ';' })) + "</a>";

ただし、<a></a>空の入力に対しては戻ります。

説明:

input.Split(new char[] { ';' })入力文字列を文字ごとに分割します:

String.Join("</a>;<a>", input.Split(new char[] { ';' }))文字列を使用して分割から要素を結合し</a>;<a>ます。

"<a>" + String.Join("</a>;<a>", input.Split(new char[] { ';' })) + "</a>";<a>結果の前と</a>最後に追加します。

于 2013-03-16T17:42:32.700 に答える
2

次のようなことを試してください:

var result = String.Join(";", 
"www.google.com;www.yahoo.com;www.gmail.com"
.Split(';')
.Select(str => String.Format("<a>{0}</a>", str)));
于 2013-03-16T17:44:41.943 に答える
-1

split() 関数を使用します。文字列を文字ごとに分割します。そして配列に格納します。

string[] arr = inputstring.Split(';'); 
string outputstring=string.Empty;
for(int i=0;i<arr.Length;i++)
  outputstring += "<a>"+arr[i]+"</a>;";

最後にセミコロンを付けたくないので

outputstring = outputstring .TrimEnd(';');

于 2013-03-16T17:43:33.587 に答える