You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中获取反斜杠(\)的IndexOf并提取目标子串

问题解决:提取字符串中的目标子串

为什么找不到反斜杠?

你代码里的\"是编程语言的转义语法,实际存储在字符串中的只有双引号("),并没有反斜杠(\)。所以用IndexOf('\\')会返回-1——因为字符串里根本不存在这个字符。

提取目标子串的几种方法

方法1:通过定位双引号位置截取

直接找到前后两个双引号的位置,然后截取中间内容:

var str = "      \"AAP, FB, VOD, ART, BAG, CAT, DDL\"\n    ";
int startIdx = str.IndexOf('"');
int endIdx = str.IndexOf('"', startIdx + 1);
var targetSubstring = str.Substring(startIdx + 1, endIdx - startIdx - 1);
// targetSubstring 即为 "AAP, FB, VOD, ART, BAG, CAT, DDL"

方法2:使用正则表达式匹配

利用正则匹配双引号包裹的内容:

using System.Text.RegularExpressions;

var str = "      \"AAP, FB, VOD, ART, BAG, CAT, DDL\"\n    ";
var matchResult = Regex.Match(str, @"\""(.*?)\""");
if (matchResult.Success)
{
    var targetSubstring = matchResult.Groups[1].Value;
}

方法3:通过分割字符串获取

以双引号为分隔符分割字符串,取中间的部分:

var str = "      \"AAP, FB, VOD, ART, BAG, CAT, DDL\"\n    ";
var splitParts = str.Split('"');
if (splitParts.Length >= 2)
{
    var targetSubstring = splitParts[1];
}

内容的提问来源于stack exchange,提问作者user19317490

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:48:20