我有一个字符串,其中包含链接。例子:
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
方法,我将不胜感激。
该代码应该可以完成这项工作:
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)));
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)));
最简单的方法:
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>
末尾添加额外的内容。
尝试这样的事情:
var result = String.Join(";",
"www.google.com;www.yahoo.com;www.gmail.com"
.Split(';')
.Select(str => String.Format("<a>{0}</a>", str)));
使用 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(';');