C# C正则表达式,字符串的开头
我想问你一个关于正则表达式的简单问题: 如何仅比较字符串的开头 例如:汽车[200;200;200],自行车[20]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)) 你可以
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对象捕获的匹配项时,才需要这样做。