我有一个包含链接的字符串。例如:
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
方法,我将感激不尽。
答案 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(';');