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 回答