繁体   English   中英

子串问题

[英]Substring issue

我有以下代码:

sDocType = pqReq.Substring(0, pqReq.IndexOf(@"\t"));

字符串pqReq如下所示:“CSTrlsEN \\ t001 \\ t \\\\ sgprt \\ Projects2 \\ t001 \\ tCSTrl”。 但即使我能清楚地看到字符串中的t\\pqReq.IndexOf(@"\\t")返回-1,因此会抛出错误。

这样做的正确方法是什么? 我不想在代码中稍后拆分字符串pqReq

使用\\\\t而不是\\t \\t被视为制表符。 sDocType = pqReq.Substring(0,pqReq.IndexOf(@“\\ t”));

编辑:

我没有注意到\\t由于是文字@ 但是你的输入字符串是文字字符串吗? 如果没有,请在pqReq的值之前放置一个@

string pqReq = @"CSTrlsEN\t001\t\\sgprt\Projects2\t001\tCSTrl";
int i = pqReq.IndexOf(@"\t");
//i = 8

我无法重现这个问题。 以下代码(.NET Fiddle here ):

var pqReq=@"CSTrlsEN\t001\t\\sgprt\Projects2\t001\tCSTrl";
var idx=pqReq.IndexOf(@"\t");
Console.WriteLine(idx);
var sDocType = pqReq.Substring(0, idx);
Console.WriteLine(sDocType);

生产:

8
CSTrlsEN

你忘记用@前缀pqReq吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM