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

C#实现XML解析时为含斜杠的地址字段添加方括号

C#处理地址字段的斜杠格式化需求

看起来你现在需要处理XML解析后的地址字段,要求带斜杠的地址用方括号包裹对吧?先说说你现有代码里的小问题:你写的address = line.Split('/')[14]+line;逻辑不太对,这样会把拆分后的第15个元素和原字符串拼接,肯定不是你要的原始地址;而且用List来插括号的方式也绕远路了,完全没必要这么复杂。

我给你整理了更简洁且逻辑正确的代码方案:

第一步:正确提取地址字段

首先得确保你从line里拿到正确的原始地址,避免索引越界的问题:

// 先按斜杠拆分字符串,避免直接取索引导致的数组越界异常
string[] lineParts = line.Split('/');
string rawAddress = string.Empty;

// 检查拆分后的数组长度是否足够取到第14个索引(索引从0开始)
if (lineParts.Length > 14)
{
    rawAddress = lineParts[14];
}

第二步:根据斜杠存在情况格式化地址

接下来判断地址是否包含斜杠,按需包裹方括号:

string formattedAddress;

// 判断原始地址是否包含斜杠
if (rawAddress.Contains("/"))
{
    // 用字符串插值快速包裹方括号
    formattedAddress = $"[{rawAddress}]";
}
else
{
    // 没有斜杠就保持原地址不变
    formattedAddress = rawAddress;
}

// 之后把格式化后的地址加入列表或者存入数据库
List<string> addressList = new List<string>();
addressList.Add(formattedAddress);

补充说明

  • 如果你确定line.Split('/')[14]一定能拿到有效地址(不会出现数组长度不够的情况),可以简化提取步骤,但加个长度判断能让代码更健壮,避免运行时抛出IndexOutOfRangeException。
  • 字符串插值$"[{rawAddress}]"是C# 6及以上版本支持的语法,如果你用的是更早的版本,可以换成string.Format("[{0}]", rawAddress)。

内容的提问来源于stack exchange,提问作者sumit kumar pandey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:26:05