获取角色的索引

时间:2011-11-18 08:47:15

标签: c#

我在获取角色的索引时遇到问题' - '一串。让我解释一下我的问题。 首先,我必须从文本文件中读取一行。文本文件中唯一的一行是" Beta = 62.5 *(Sigma - Delta)/ 125"

StreamReader rdr = new StreamReader(openPath, Encoding.Default); 

while (rdr.Peek() != -1)
{
     string strInput = rdr.ReadLine();
}

然后我需要得到char' - '。

的索引
int col = strInput.IndexOf('-');

在上面的行' col'等于-1。但正如你可以看到' - '字符在上面提到的字符串中,从文本文件中读取。 我无法弄清楚为什么我得到-1作为' - '的索引。帮助我...

3 个答案:

答案 0 :(得分:2)

这两个字符不一样。看看它们的长度:

(这称为en-dash,等于ASCII字符N的宽度)

VS

-

(这是正常的ascii连字符,或减号)

修改indexof使用en-dash( - )而不是连字符( - ),你应该得到正确的结果。

编辑:感谢六个方面的正确术语

答案 1 :(得分:1)

您没有搜索相同的字符,您要搜索的字符应为'–'而不是'-'

尝试他的路线:

int col = a.IndexOf('–');

答案 2 :(得分:0)

int col = strInput.IndexOf('-');

之前(暂时)在您的代码中添加一行代码
System.Diagnostics.Debug.Assert(String.Equals(strInput, "Beta = 62.5 * (Sigma – Delta) / 125");