获取字符的索引
本文关键字:索引 字符 获取 | 更新日期: 2023-09-27 18:14:59
我有一个问题,得到一个字符串的字符'-'的索引。让我解释一下我的问题。首先,我必须从文本文件中读取一行。文本文件中唯一的一行是"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。帮助我…
这两个字符不一样。看看它们的长度:
–
(这被称为en-dash,等于ASCII字符N的宽度)
和
-
(这是一个普通的ASCII连字符,或减号)
修改你的索引,使用连字符(-)而不是连字符(-),你应该得到正确的结果。
编辑:感谢sixlettervariables为正确的术语
您不是在搜索相同的字符,您正在搜索的字符应该是'–'
而不是'-'
试试他的台词:
int col = a.IndexOf('–');
在int col = strInput.IndexOf('-');
:
System.Diagnostics.Debug.Assert(String.Equals(strInput, "Beta = 62.5 * (Sigma – Delta) / 125");