c# - 检查字符串是否已使用特定模板进行格式化

标签 c# string string-formatting

我试图在 C# 中检查的内容是:

如果name_Ford_value_Focus(好)

name_value_Focus(不好)

符合模板

名称_{0}_值{1}

我必须使用正则表达式吗?

最佳答案

假设您想要匹配完整的字符串(如果不是,则从模式中删除 ^ 和 $ 以在字符串内匹配)...

class Program
{
    static void Main()
    {
        string pattern = @"^name_.+_value_.+$";
        Console.WriteLine( Regex.Match( "name_Ford_value_Focus", pattern ).Success.ToString() );//true
        Console.WriteLine( Regex.Match( "name_value_Focus", pattern ).Success.ToString() );//false
        //Other examples:
        Console.WriteLine( Regex.Match( "name_Toyota_value_Corolla", pattern ).Success.ToString() );//true
        Console.WriteLine( Regex.Match( "name_Mini_value_", pattern ).Success.ToString() );//false
        Console.WriteLine( Regex.Match( "Applename_Ford_value_FocusApple", pattern ).Success.ToString() );//false because full string match. Remove ^ and $ from pattern for true

    }
}

哪里:

  • ^ 表示“开始于”。 $ 表示“以……结尾”。它们一起意味着匹配完整的字符串。
  • 。表示匹配一个字符。
  • + 表示 1 个或多个字符。

关于c# - 检查字符串是否已使用特定模板进行格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18736811/

相关文章:

c# - 从同一个文本框中读取不同的int

c# - 相当于 C# 中 Action<> 和/或 Func<> 的 typedef

python - 在类方法文档字符串中使用字符串格式

c# - @Html.EditorFor DateTime 在为其设置默认值时不显示

sql - INSERT 上的格式字符串大小写?

c# - 从类调用函数而不进行新的初始化 - C#

c# - 在参数替换了它们的占位符后,如何查看发送到数据库的 SQL?

iphone - 类型 "[String : String]"的值没有成员 'major'

java - 如何在 Java 15 文本 block 功能中添加变量?

ios - 如何在 Swift 5 中检查字符串是否以字母开头?