如何确保c#字符串以句号结束?
本文关键字:结束 字符串 何确保 确保 | 更新日期: 2023-09-27 18:06:54
我有这样的c#字符串:
"abc";
"def.";
当我将这些读入另一个变量时,我需要一些简单的方法来检查字符串的最后一个字符,如果它不是一个句点,则在该字符串上附加一个句点。
有没有人有什么简单的方法可以让我做到这一点?
if (!str.EndsWith(".")) str += ".";
为什么你不能用另一种方式来做呢?
namespace ExtensionMethods
{
public static class StringExtensionMethods
{
public static string EnsureEndsWithDot(this string str)
{
if (!str.EndsWith(".")) return str + ".";
return str;
}
}
}
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;
}
}
}
这应该是…
// Appends a ., or if myString was empty to begin with, makes it "."
myString = (myString != null && myString.Length != 0 && myString[myString.Length - 1] == '.') ? myString : (myString ?? "") + ".";