IndexOf和\字符

时间:2018-10-03 12:23:35

标签: c# format substring

我在尝试在某些\中找到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

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

1 个答案:

答案 0 :(得分:1)

您应使用.IndexOf('\n'),因为\n被视为一个字符。

您的问题之一是使用@,结果不是换行符,而是\n作为两个字符,与\\相同。

这也是在字符串中找不到\的原因,因为它与n紧密相关。