【问题标题】:How to remove and place a single character in a string?如何删除和放置字符串中的单个字符?
【发布时间】:2015-05-11 21:39:42
【问题描述】:

这是我的字符串:String s = "X0001";

现在我想用N 替换X

String s = "N0001;

我该怎么做?

【问题讨论】:

  • 指的是什么编程语言?
  • 你使用什么语言?
  • 查看问题。用 c# lang 更新
  • 我认为在做这个问题之前你必须在堆栈上多搜索一点。 String.Replace 将帮助您解决问题。

标签: c# string


【解决方案1】:

你可以使用Replace:

String s = "X0001";
s = s.Replace('X', 'N');

这样,Console.WriteLine(s) 就会输出

N0001

【讨论】:

  • @thomas.now s 只包含 N.i want s=N0001
  • @iDontKnow 已修复。错误原因:咖啡不够
  • 对不起...将 N 替换为 X;s="X0001" 替换为 s="N0001"
【解决方案2】:

如果要全部替换,请使用String.Replace:

s = s.Replace("X", "N");

如果要替换第一个;

s = "N" + s.Substring(1);

如果你有类似<xml><Name>X0001</Name> 的东西,并且你想用 N0001 替换 X0001,你可以使用字符串方法(或 XML 库):

string xml = "<xml><Name>X0001</Name>";
int start = xml.IndexOf("<Name>", StringComparison.InvariantCultureIgnoreCase);
if (start >= 0)
{
    start += "<Name>".Length;
    int end = xml.IndexOf("</Name>", start, StringComparison.InvariantCultureIgnoreCase);
    if (end >= 0)
    {
        string before = xml.Substring(0, start);
        string token = xml.Substring(start, end - start);
        string after = xml.Substring(end);
        if (token.Length > 0)
            xml = string.Format("{0}{1}{2}", 
                before, 
                token.Replace("X", "N"), 
                after);
    }
}

【讨论】:

  • 感谢 Tim ..如果例如 XML 中的字符串,如 X0001..在这种情况下,我如何将 X0001 更改为 N0001...请给我答复
  • @iDontKnow:所以现在您的输入更改为&lt;xml&gt;&lt;Name&gt;X0001&lt;/Name&gt;?你确定下一个问题不会是“如何修改xml文件”?
  • @iDontKnow:看看。
  • @iDontKnow,我认为您需要 200K 代表来解析 XML 与 string.IndexOf... :) 和 600K 使用正则表达式来做到这一点...请使用 XDocument 来处理 XML ...
  • @AlexeiLevenkov:我不想过多地偏离关于单个字符串的原始问题。现在它似乎仍然是一个更长的字符串。如果它得到一个完整的 xml 文件 OP 应该问一个不同的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 2013-02-01
  • 2014-07-30
  • 1970-01-01
  • 2011-10-21
  • 2019-08-30
相关资源
最近更新 更多