我需要仅读取完整字符串中特定部分的内容。字符串的格式如下:
"1 某种货币名称 = 0.4232 另一种货币名称"
因此,我想到的最快速的方法是在等号(=)运算符处拆分字符串,从而将两个值添加到数组中,例如:
string rawInput = "1 Some Currency Name = 0.4232 Other Currency Name";
string[] rawSplit = rawInput.Split('=');
string firstRate = rawSplit[0].ToString();
string secondRate = rawSplit[1].ToString();
现在我只需要获取secondRate字符串的第一部分("0.4232")。所以我会再次拆分该字符串(代码不好):
string[] lastSplit = secondRate.Split(); //Split at whitespace characters
string firstValue = lastSplit[0].ToString(); //Should return "0.4232" but instead returns ""
当我运行应用程序测试这个函数时,它返回一个空字符串而不是值“0.4232”。为什么会发生这种情况?我在这里缺少了什么?
完整方法:
private void btnTest_Click(object sender, EventArgs e)
{
string rawInput = "1 Some Currency Name = 0.4232 Other Currency Name";
string[] rawSplit = rawInput.Split('=');
string baseRate = rawSplit[0].ToString(); //1 Some Currency Name
string conversionRate = rawSplit[1].ToString(); //0.4232 Other Currency Name
rawSplit = GetSplit(conversionRate);
XtraMessageBox.Show(rawSplit[0].ToString()); //Returns blank string here???
}
private string[] GetSplit(string inputString)
{
return inputString.Split();
}
任何想法或建议都受到欢迎并将受到高度赞赏!
=
处分割字符串,那么结果会是0.4232...
,这意味着当按空格分割时第一个条目为空。 - pstrjdsToString()
方法呢? - Jon Skeet