如何将字符串分成多个部分C#

时间:2013-03-16 17:37:31

标签: c# string

我有一个包含链接的字符串。例如:

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方法,我将感激不尽。

5 个答案:

答案 0 :(得分: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)));

答案 1 :(得分: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)));

答案 2 :(得分: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>

答案 3 :(得分:2)

尝试这样的事情:

var result = String.Join(";", 
"www.google.com;www.yahoo.com;www.gmail.com"
.Split(';')
.Select(str => String.Format("<a>{0}</a>", str)));

答案 4 :(得分:-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(';');