如何将一个单词与C#的contains函数完全匹配?

时间:2014-09-24 09:47:12

标签: c# contains

我试图通过C#读出脚本并确定它们是否包含某些单词,但这些单词应该相同,而不是仅包含我正在寻找的内容。有没有办法使用contains - 函数,单个单词,并检查它是否与确切的单词相同?

如何确定包含是否与搜索词相同?

目前我正在使用以下脚本:

// GetScriptAssetsOfType<MonoBehaviour>() Returns all monobehaviour scripts as text
foreach (MonoScript m in GetScriptAssetsOfType<MonoBehaviour>())
{
    if (m.text.Contains("Material"))
    {
       // Identical check?
    }
}

5 个答案:

答案 0 :(得分:14)

正则表达式怎么样?

bool contains = Regex.IsMatch(m.text, @"\bMaterial\b");

答案 1 :(得分:0)

包含将搜索您作为参数放置的确切单词 在小程序中将此作为示例进行检查

string a = "This is a test";
string b = "This is a TEST";
Console.WriteLine(a.Contains("test"));
Console.WriteLine(b.Contains("test"));

希望我能理解你的问题

答案 2 :(得分:0)

在里面再使用另一张支票。我希望我理解你的问题。

// GetScriptAssetsOfType<MonoBehaviour>() Returns all monobehaviour scripts as text
foreach (MonoScript m in GetScriptAssetsOfType<MonoBehaviour>())
{
    if (m.text.Contains("Material"))
    {
        if(m.text == "Material")
        {
             //Do Something
        }
    }
}

答案 3 :(得分:0)

只使用扩展方法制作Regex Handy

扩展类

using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication11
        {
            public static class Extension
            {
                public static Match RegexMatch(this string input, string pattern, RegexOptions regexOptions = RegexOptions.IgnoreCase)
                {
                    return Regex.Match(input, pattern, regexOptions);
                }
            }
        }

并使用上述课程。

        using System.Text;
        namespace ConsoleApplication11
        {
            class Program
            {
                static void Main(string[] args)
                {
                    bool isMatch = "this is text ".RegexMatch(@"\bis\b").Success;
                }
            }
        }

如果不熟悉http://www.codeproject.com/Articles/573095/A-Beginners-Tutorial-on-Extension-Methods-Named-Pa

,请参阅扩展方法

答案 4 :(得分:0)

所以你正在寻找正则表达而不是包含,现在我理解你的问题

string a = "This is a test for you";
string b = "This is a testForYou";
string c = "test This is a for you";
string d = "for you is this test.";
string e = "for you is this test, and works?";

var regexp = new Regex(@"(\stest[\s,\.])|(^test[\s,\.])");


Console.WriteLine(regexp.Match(a).Success);
Console.WriteLine(regexp.Match(b).Success);
Console.WriteLine(regexp.Match(c).Success);
Console.WriteLine(regexp.Match(d).Success);
Console.WriteLine(regexp.Match(e).Success);