2014-01-16 111 views
-2

我需要帮助。我试图分割一个字符串,但我没有找到完美的方式。拆分字符串和更多符号

例子:

string data = "[email protected]$doors&1$engine&100$horsepower&2$color" 

我想拆分此字符串。结果也是一个字符串,应该看起来像4 doors, 1 engine, 100 horsepower, 2 color

任何想法?

+6

你尝试过这么远吗?你的实施有什么问题? – Servy

+1

*我试过* - 你尝试了什么? – Barney

+1

您如何将不在[a-Z]或[0-9]中的所有字符替换为空格?对我来说似乎很简单...你有两类字母,字母数字字母和非字母数字字母,你所要做的只是用白色空格替换非字母数字字母...... – evanmcdonnal

回答

1
var res = string.Join(", ", data.Substring(data.IndexOf("@") + 1).Replace("$", " ").Split('&')); 
0

这是我可以拿出来回答你的问题的最丑陋的一行。 享受!

Console.WriteLine(string.Join("\r\n", "[email protected]$doors&1$engine&100$horsepower&2$color".Split('@').Select(s => s.Replace("&", ", ").Replace('$', ' ')))); 
0

这里是一个实现,当然你也可以删除匹配{0}

string data = "[email protected]$doors&1$engine&100$horsepower&2$color"; 
string[] dataArray = data.Split('@'); 
string carProperties = dataArray[1].Replace("$", " ").Replace('&', ','); 
Console.WriteLine("{0} {1}", dataArray[0], carProperties);