如何使用子字符串删除字符串中的特定文本

时间:2019-11-19 20:23:27

标签: c# string substring

我的字符串是这样的:

  

fileName,callDateTime,sum(callDuration)AS“通话时间”,   callRecorder,deviceId,errorMessage,extractionDateTime,   互动ID,中断,提取成功,拼接,字节,   conversionTime,stitchingTime,transferTime,remoteErrorMessage,   remoteTransferDateTime,大小,remoteTimeToTransfer,   extractStartDate,extractEndDate,用途,ruleName,   ruleSession,fileOutputFormat,extractedBy,vaultName,vaultType,   vaultRemotePath,stitchingTime

我要删除文本的这一部分:

  

“ sum(callDuration)AS'通话时间',”

我正在使用这段代码来尝试解决此问题:

 var getSumIndex = resultAggOrField.IndexOf($"{rowGroup.AggFunc}");
 var getFieldIndex = resultAggOrField.IndexOf($"'{rowGroup.DisplayName}'");
 var delete = resultAggOrField.Substring(getSumIndex, getFieldIndex);
 resultAgg = resultAggOrField.Replace(delete, string.Empty);

但是出于某种原因,他采用了文本的这一部分:

sum(callDuration) AS 'Call Duration', callRec

1 个答案:

答案 0 :(得分:2)

您的变量名暗示您误解了the Substring(int, int) method的工作方式。第二个参数不是 index ,而是 length

您是要硬编码"sum (callDuration) AS 'Call Duration',"的长度还是要动态计算长度(以及如何动态计算长度)完全取决于您。但是您需要告诉Substring()方法要删除的子字符串的 size ,而不是要删除的子字符串的 end index