Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C正则表达式,字符串的开头_C#_Regex_String - Fatal编程技术网

C# C正则表达式,字符串的开头

C# C正则表达式,字符串的开头,c#,regex,string,C#,Regex,String,我想问你一个关于正则表达式的简单问题: 如何仅比较字符串的开头 例如:汽车[200;200;200],自行车[20] if (item.Name == "Car*") { textBox.Text = "Car"; } 我不知道我必须键入什么而不是*才能使字符串的其余部分不相关。可以用 如果要进行不区分大小写的比较,可以执行以下操作: if(item.Name.StartsWith("car",StringComparison.InvariantCultureIgnoreCase)) 你可以

我想问你一个关于正则表达式的简单问题:

如何仅比较字符串的开头

例如:汽车[200;200;200],自行车[20]

if (item.Name == "Car*") { textBox.Text = "Car"; }

我不知道我必须键入什么而不是*才能使字符串的其余部分不相关。

可以用

如果要进行不区分大小写的比较,可以执行以下操作:

if(item.Name.StartsWith("car",StringComparison.InvariantCultureIgnoreCase))

你可以用正则表达式代替正则表达式

如果要进行不区分大小写的比较,可以执行以下操作:

if(item.Name.StartsWith("car",StringComparison.InvariantCultureIgnoreCase))

我看不出有什么理由在这里使用正则表达式。你可以用


我看不出有什么理由在这里使用正则表达式。你可以用


不需要正则表达式。 字符串类calld StartsWithstring参数上有一个很好的方法 MSDN:

像这样使用它:

string MyString = "Car [ 200 ; 200 ; 200 ], Bike [20]"
if(MyString.StartsWith("Car")) Do what you whant

不需要正则表达式。 字符串类calld StartsWithstring参数上有一个很好的方法 MSDN:

像这样使用它:

string MyString = "Car [ 200 ; 200 ; 200 ], Bike [20]"
if(MyString.StartsWith("Car")) Do what you whant

尽管我建议像其他人建议的那样使用String.StartsWith,但我相信您正在寻找的正则表达式是:

^[cC]ar


假设不区分大小写

尽管我建议像其他人建议的那样使用String.StartsWith,但我相信您正在寻找的正则表达式是:

^[cC]ar


假设不区分大小写,如果仍要使用正则表达式:

if (Regex.IsMatch(item.Name, "^Car")) {
    //Something to do
}
或者,不区分大小写:

if (Regex.IsMatch(item.Name, "^Car", RegexOptions.CultureInvariant)) {
    //Something to do
}
或直接指定给文本框:

Match m = Regex.Match(item.Name, "^(Car)(.*)");
if (m.Success)
    textBox.Text = m.Groups[1].Value;

如果仍要使用正则表达式,请执行以下操作:

if (Regex.IsMatch(item.Name, "^Car")) {
    //Something to do
}
或者,不区分大小写:

if (Regex.IsMatch(item.Name, "^Car", RegexOptions.CultureInvariant)) {
    //Something to do
}
或直接指定给文本框:

Match m = Regex.Match(item.Name, "^(Car)(.*)");
if (m.Success)
    textBox.Text = m.Groups[1].Value;

如果您想使用正则表达式,那么您需要?i:^car*

?i::为组的其余部分打开案例忽略。 ^:匹配字符串的开头。 car:寻找字符串car *:匹配任何其他内容,任意数量的字符。 :小组结束
您还可以删除组内容,并在regex对象本身上使用“忽略大小写”选项。

如果要使用regex,则需要?i:^car*

?i::为组的其余部分打开案例忽略。 ^:匹配字符串的开头。 car:寻找字符串car *:匹配任何其他内容,任意数量的字符。 :小组结束
您还可以删除组内容,并在regex对象本身上使用ignore case选项。

当然,您应该使用String.StartWith函数。如果您使用regex,它会弄乱您的代码。我是说,我想这需要更多的时间

你可以这样走


如果item.Name.startsWithCar{textBox.Text=Car;}

当然,您应该使用String.StartWith函数如果您使用regex,它会弄乱您的代码。我是说,我想这需要更多的时间

你可以这样走



如果item.Name.startsWithCar{textBox.Text=Car;}

对于这个特定的用例,String.StartsWith可以正常工作。如果您不确定字符串的大小写,您可能需要添加一个ToLower。只是为了它,正则表达式使用“线锚”确定字符串的开始和结束->^Car.*将检查字符串是否以Car@drew_wString.StartsWith的重载允许指定大小写的格式handled@drew_w就像@ken2k所说的,不要使用.ToUpper或.ToLower,使用StringComparison.InvariantCultureIgnoreCase作为第二个参数,正如@Habib所建议的那样。在以后阅读代码时,它的性能更高,更难理解错误。对于这个特定的用例,String.StartsWith可以很好地工作。如果您不确定字符串的大小写,您可能需要添加一个ToLower。只是为了它,正则表达式使用“线锚”确定字符串的开始和结束->^Car.*将检查字符串是否以Car@drew_wString.StartsWith的重载允许指定大小写的格式handled@drew_w就像@ken2k所说的,不要使用.ToUpper或.ToLower,使用StringComparison.InvariantCultureIgnoreCase作为第二个参数,正如@Habib所建议的那样。在以后阅读代码时,它的性能更高,更难理解错误。@ken2k为什么-1问题是这样的。。对不起,我不明白你的逻辑。我只是给出了我的观点-1:这个答案没有用。恕我直言,您的回答没有用,因为您之前已经多次提供了完全相同的答案。好的,我现在知道了,我可以看到,但是这个答案对用户是有用的。当我回复的时候,时间真的少了,所以它不会出现…对不起,它没有用,它只是给整个线程增加了噪音。另外,您在7分钟后回答了最重要的问题。@Nitesh Kumar SHARMA-+1表示有用的答案。我经常先发帖子,刷新页面,找到唯一的答案。5分钟后,当我看到其他帖子在我之前3分钟和问题发布前2分钟发布时,我感到震惊,但在1小时后,这些帖子被合并到同一时间。我无法想象这篇文章会有什么帮助,它肯定没有错。欢迎来到SO@ken2k为什么-1问题是这样的。。对不起,我不明白你的逻辑。我刚刚给出了我对-1:这个的定义
答案是无用的。恕我直言,您的回答没有用,因为您之前已经多次提供了完全相同的答案。好的,我现在知道了,我可以看到,但是这个答案对用户是有用的。当我回复的时候,时间真的少了,所以它不会出现…对不起,它没有用,它只是给整个线程增加了噪音。另外,您在7分钟后回答了最重要的问题。@Nitesh Kumar SHARMA-+1表示有用的答案。我经常先发帖子,刷新页面,找到唯一的答案。5分钟后,当我看到其他帖子在我之前3分钟和问题发布前2分钟发布时,我感到震惊,但在1小时后,这些帖子被合并到同一时间。我无法想象这篇文章会有什么帮助,它肯定没有错。欢迎来到SO!您也不必添加。*。这是事实。只有当您想使用从regex对象捕获的匹配项时,才需要使用它。您也不必添加。*。这是正确的。只有当您想使用从regex对象捕获的匹配项时,才需要这样做。