【问题标题】:If a string contains a double character change it to another string C#如果字符串包含双字符,则将其更改为另一个字符串 C#
【发布时间】:2022-10-25 22:52:10
【问题描述】:

我创建了一个人模型:

Model Person = new Model();
Person.LastName = values[0];

[姓氏是一个字符串]
我想更换值 [0]这是“安娜" 带有另一个字符串值,例如 "坦率" 如果它包含一个双字符,在这种情况下 "如果安娜包含一个双字符, 改变值 用另一个字符串”。

怎么做?

【问题讨论】:

  • 简单地多次重复相同的措辞并不能增加问题的清晰度。对于初学者,定义双字符 - 是同一字符在连续位置出现两次(例如 Anna 中的 Ns)还是同一字符出现两次任何地方在字符串中(例如,在 Anna 中,不需要假定区分大小写,这是别的你应该在你的问题中澄清)。

标签: c# visual-studio oop


【解决方案1】:

这可以通过字符串的简单扩展功能来实现:

public static class StringExntesions
{
    public static bool HasDoubleChar(this string @this)
    {
        for (int i = 1; i < @this.Length; i++)
        {
            if (@this[i] == @this[i - 1])
            {
                return true;
            }
        }
        return false;
    }
}

然后你可以使用它:

Person.LastName = values[0].HasDoubleChar()
    ? "Frank"
    : values[0];

【讨论】:

    【解决方案2】:
            public static string Do(string source, string replacement)
            {
                char c = source.ToLower()[0]; // do you care about case? E.g., Aaron.
                for(int i = 1; i < source.Length; i++)
                {
                    if (source.ToLower()[i] == c)
                    {
                        return replacement;
                    }
                }
                return source;
            }
    
            public static void Main()
            {
                string thing = "Aaron";
                thing = Do(thing, "Frank");
    
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 2013-08-16
      • 2020-02-14
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      相关资源
      最近更新 更多