gpt4 book ai didi

c# - String.Split() 返回空值

转载 作者:行者123 更新时间:2023-11-30 18:59:15 25 4
gpt4 key购买 nike

我只需要读取完整字符串的特定部分。该字符串将采用以下形式:

“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();
}

欢迎提出任何想法或建议,我们将不胜感激!

最佳答案

问题是,当您在 '=' 处拆分原始字符串时,您得到的结果开头有一个额外的空格,基本上是 rawSplit[1] 等于 “0.4232 其他货币名称”

您可以使用 String.Split 的重载这允许您指定删除空条目,这将删除结果中的所有空白条目。

string[] lastSplit = secondRate.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);

附带说明,当输入已经是字符串时,无需使用 ToString():

string[] rawSplit = rawInput.Split('=');
// rawSplit is a string array, so rawSplit[0] is already a string...
string firstRate = rawSplit[0]; // .ToString();

关于c# - String.Split() 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com