如何简单地检查一个字符串是否包含{x}(x可以是任何数字)?我想有一些简单的RegEx可以做到这一点。
{x}
x
"This string contains {0} a placeholder".HasPlaceholder == true
和
"This string contains no placeholder".HasPlaceholder == false
zrfyljdw1#
你可以写一个简单的扩展并使用正则表达式:
public static class StringExtensions { public static bool HasPlaceholder(this string s) { return Regex.IsMatch(s, "{\\d+}"); } }
此正则表达式 * 仅 * 适用于您指定的占位符(仅包含数字)。对于一个完整的占位符,你需要像"{\\d+(,-?\\d+)?(:[A-Z]\\d*)?}"这样的东西。但这仍然需要改进。请参阅"Standard Numeric Format Strings"以获取有效符号的完整列表。你可以像这样使用这个扩展:
"{\\d+(,-?\\d+)?(:[A-Z]\\d*)?}"
string s = "This string contains {0} a placeholder"; if (s.HasPlaceholder()) Console.WriteLine("Contains placeholders");
1条答案
按热度按时间zrfyljdw1#
你可以写一个简单的扩展并使用正则表达式:
此正则表达式 * 仅 * 适用于您指定的占位符(仅包含数字)。
对于一个完整的占位符,你需要像
"{\\d+(,-?\\d+)?(:[A-Z]\\d*)?}"
这样的东西。但这仍然需要改进。请参阅"Standard Numeric Format Strings"以获取有效符号的完整列表。你可以像这样使用这个扩展: