在C#中获取子字符串?

时间:2012-04-24 02:02:35

标签: c#

这是一个简单的新手问题。我可能会使用一些复杂的字符串方法(如子字符串和其他方法)来解决这个问题,但我想知道是否有更好的方法来做到这一点。

说我在C#中有一个字符串:

string foo = "°F";

最好的方法是把它分成两个不同的字符串,我有“deg”和“F”?

我看到发生了什么。 stackflow正在解释HTML。它实际上是(&符号)deg(分号)F。

很抱歉,我昨晚发布的内容已经很晚了。

2 个答案:

答案 0 :(得分:8)

我不知道它是否“复杂”但是:

string degree = foo[0].ToString();
string f = foo[1].ToString();

我觉得你选择了一个过于简单的例子。你真的在处理一个两个字符串,还是你想做一些更有趣的事情?

更新:嗯,我仍然认为你必须在这里努力做点事情。但这是另一种方式:(帽子提示:@James Didzun)

string f = foo.Replace("°","");
string deg = foo.Replace("F", "");

或者你可以这样做:

string deg = foo.Substring(0, 5);
string f = foo.Substring(5,1);

或者:

 var deg =  new string(foo.TakeWhile(c => c != 'F').ToArray());
 var f = foo.SkipWhile(c => c != 'F').First().ToString();

或者:

string[] x = foo.Split(';');
string deg = x[0] + ";";
string f = x[1];

或者:

string deg = "°"
string f = "F";

就个人而言,我更喜欢这种最后的方法。你为什么要拆分一个你知道确切内容的字符串?

答案 1 :(得分:1)

这个怎么样: - )

char[] foo = "°F".ToCharArray();

char c1 = foo.First();
char c2 = foo.Last();