如何确保我的c#字符串在一段时间内结束?

时间:2011-08-26 03:32:20

标签: c#

我有c#字符串,如下所示:

"abc";
"def.";

当我将这些变量读入另一个变量时,我需要一些简单的方法来检查字符串的最后一个字符,如果它不是一个句点,那么在该字符串后附一个句点。

有没有人对我能做到这一点的简单方法有任何想法?

4 个答案:

答案 0 :(得分:6)

if (!str.EndsWith(".")) str += ".";

是否有理由不能以不同的方式做到这一点?

答案 1 :(得分:4)

namespace ExtensionMethods
{
    public static class StringExtensionMethods
    {
        public static string EnsureEndsWithDot(this string str)
        {
            if (!str.EndsWith(".")) return str + ".";
            return str;
        }
    }
}

答案 2 :(得分:0)

这应该......

// Appends a ., or if myString was empty to begin with, makes it "."
myString = (myString != null && myString.Length != 0 && myString[myString.Length - 1] == '.') ? myString : (myString ?? "") + ".";

答案 3 :(得分:0)

using System;

namespace StackoverflowConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
          Console.WriteLine(StringExtensionMethods.EnsureEndsWithDot("abc"));
        }
    }
}
namespace StackoverflowConsoleApp
{

    /// <summary>
    /// This class contains string extensions
    /// </summary>
    public static class StringExtensionMethods
    {
        /// <summary>
        /// constant dot
        /// </summary>
        private const string dot = ".";

        /// <summary>
        /// Ensures the string ends with dot character
        /// </summary>
        /// <param name="text"><see cref="string"/>Takes a string parameter</param>
        /// <returns><see cref="string"/>returns a string parameter</returns>
        public static string EnsureEndsWithDot(this string text)
        {
            if (!text.EndsWith(dot))
            {
                return string.Format("{0}{1}", text, dot);
            }

            return text;
        }
    }
}