【发布时间】:2015-03-12 21:28:55
【问题描述】:
我不知道如何弄清楚这种情况。基本上,我将列表中的信息转换为字符串以使用包含和正则表达式。我需要弄清楚用户是否选择了“其他”选项,如果是,那么做一些事情。但是,在同一个列表中,还有其他以“Other”开头的值可供选择。
示例数据:
- 防火材料
- 其他
- 其他化学品
示例代码:
if(MaterialList.ToString().Contains("Other"))
{
"Do This If Other Is Selected";
}
else
{
"Do That If Other Isn't Selected";
}
如果用户只选择“Other”,它会正常工作,但是,如果用户没有选择“Other”而是选择“Other Chemical”,则条件仍会返回 true。
我也尝试了以下方法,它的行为相同:
public static bool ExactMatch(string input, string match)
{
return Regex.IsMatch(input, string.Format(@"{0}", Regex.Escape(match)));
//actually doesn't find the exact match - just a portion of the string
}
不应该使用可能包含或匹配但不确定如何解决问题。
【问题讨论】:
-
您的 MaterialList 是一个实际的列表还是只是一个特殊格式的字符串?
-
我感觉
MaterialList只是一个字符串,这个问题是“为什么,如果我问字符串a包含 字符串b是否在两个之一中不同的方式,我得到的是我所要求的,而不是指示字符串a是否完全等于字符串b的结果。"