String.Contains()表示汉字

时间:2016-01-28 23:11:50

标签: c# string contains

我有两个包含中文字符的字符串,我想查看第一个字符串是否包含第二个字符串。但是,只使用String.Contains()不起作用。有没有人知道另一种方法?

string c1 = " 未送出的礼物  dons non-donnés  ";
string c2 = " 未送出的礼物  ";
if(c1.Contains(c2))
{
   //this never happens but it should
}

2 个答案:

答案 0 :(得分:3)

第一个变量是简体中文,而另一个是中国传统。虽然当我踩着我的代码时它们看起来一样,但它们实际上是不同的,因此为什么if语句从未进入过。

答案 1 :(得分:2)

在调用String.Contains()之前对字符串使用String.Normalize()方法:

string c1 = string.Normalize(" 未送出的礼物  dons non-donnés  ");
string c2 = string.Normalize(" 未送出的礼物  ");
if(c1.Contains(c2))
{
  //...
}