首页 > 解决方案 > IndexOf 和 \ 字符

问题描述

我在尝试\在 some 中查找角色时遇到问题string

我有一个string这样的

01-TN070340000000CHEXBSPT\nTapón Galvanizado Ø3/4\" Cabeza Hexagonal. Rosca BSPT
01-TN071000000000CHEXBSPT\nTapón Galvanizado Ø1\" Cabeza Hexagonal. Rosca BSPT"
05-CBPA0010002000-002\nConjunto Aislador BT 2000. Cerámica Blanca Pasante 1 Kv. 2000A. Genérico. Ferretería Estañada. 

而我所需要的只是剪断字符串以在之前获取字符串部分,\n但事情IndexOf()总是返回-1

接下来,我尝试了以下方法:

int index;
string Articulo = "01-TN070340000000CHEXBSPT\nTapón Galvanizado Ø3/4\" Cabeza Hexagonal. Rosca BSPT";
index = Articulo.indexOf('\\'); // -1
index = Articulo.indexOf("\\n"); // -1
index = Articulo.indexOf(@"\n"); // -1

我应该如何获取包含\字符的子字符串的起始位置?

标签: c#formatsubstring

解决方案


您应该使用.IndexOf('\n'),因为\n它作为一个字符处理。

您的问题之一是使用@它使结果不是换行符,而是\n两个字符,与\\.

这也是你不能只\在你的字符串中找到的原因,因为它与n.


推荐阅读