2013-03-16 86 views
1

我有一個字符串,它包含鏈接。例如:如何將字符串分隔爲多個部分C#

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

該代碼應該做的工作:

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))); 
+0

非常感謝!有用!但是,你能解釋一下這段代碼的用法嗎? – 2013-03-16 17:49:00

+1

1.按';'分割字符串caracter 2.包裝每個元素 3.加入結果元素,用';'分隔它們。 – Dima 2013-03-16 17:56:45

+0

現在我明白了,謝謝! – 2013-03-16 18:03:17

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>

+0

非常感謝您!它很棒!但你能解釋這些代碼嗎? (我正在學習C#,不知道這個語言中的每一件事......) – 2013-03-16 17:52:57

+0

現在我明白了,謝謝你! – 2013-03-16 18:02:36

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))); 
-1

使用分裂()函數。按字符分割字符串;並存儲在一個數組中。

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

既然你不想分號結束

outputstring = outputstring .TrimEnd(';');

2

嘗試是這樣的:

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