2010-02-08 39 views
3

如何在C#.net 1.1.4322中用字符串拆分字符串?分割字符串C#.net 1.1.4322

字符串例如:

Key|Value|||Key|Value|||Key|Value|||Key|Value 

需要:

Key|Value 
Key|Value 
Key|Value 
  • 因爲分隔符是我不能使用RegEx.Split |||並且分開獲取每個角色。

  • 我不能使用String.Split()過載作爲其未在接受溶液.NET 1.1

實施例:

using System.Text.RegularExpressions; 

String[] values = Regex.Split(stringToSplit,"\\|\\|\\|"); 

回答

4

什麼有關使用@「\ | \ | \ |」在你的Regex.Split調用中?這使得|字符文字字符。

+0

完美地工作。謝謝。 – Dilbert789

3

一個解決方法是替換和拆分:

string[] keyvalues = "key|value|||key|value".replace("|||", "~").split('~'); 
+0

如果原始字符串中有某個'〜'會發生什麼? – LukeH

+0

'〜'只是一個例子。你可以使用任何角色,但這當然不是一個完美的解決方法。 – Joel

0

這裏是一個例子:

System.Collections.Hashtable table; 
string[] items = somestring.split("|||"); 
foreach(string item in items) 
{ 
    string[] keyvalue = item.split("|"); 
    table.add(keyvalue[0],keyvalue[1]); 
} 
+0

'Split(string,StringCompareOptions)'和'Split(string,Int32,StringCompareOptions)'直到.NET Framework 2.0纔出現。 OP指定1.1 – Kev

0
string input = "Hi#*#Hello#*#i#*#Hate#*#My#*#......" ; 
string[] delim = new string[] { "#*#" }; 
string[] results = input.split(delim , StringSplitOptions.None); 
+0

問題是關於.NET 1.1的。在.NET 2.0中添加了'string.Split'接受'string []'的重載 –