use*_*694 0 c# substring indexof
我试图在一个大字符串中找到字符串"\ r \n"(基本上换行和返回)的所有索引.
我需要这样做,因为我必须逐行将大字符串写入PDF文件(我必须在写完前一行后调用我正在使用的dll的换行符API).
这是代码的简短版本: -
string fileContents = "abc\r\n\r\ndef\r\nghi";
int pos = -1;
int start = 0;
while ((pos = fileContents.IndexOf("\r\n", start)) != -1)
{
//extract string
//write string to PDF
//call newline API
start = pos + 1;
}
Run Code Online (Sandbox Code Playgroud)
fileContents变量中"\ r \n"的预期位置是3,7和14.但是,在调试代码时,pos变量中的值是3,5和10.
我的indexOf()调用似乎有什么问题?
\n 或任何其他特殊字符是特殊字符....这意味着即使你用2个字符写它们,它实际上只有1个字符:
"ABC\r \n\r\NDEF\r \宜安"
0 : a
1 : b
2 : c
3 : \r
4 : \n
5 : \r
6 : \n
7 : d
8 : e
9 : f
10: \r
11: \n
...
Run Code Online (Sandbox Code Playgroud)