有一个很大的string字符串,比如string strText="我爱CSDN我爱CSDN我爱CSDN我爱和 谐CSDN我爱CSDN我爱CSDN",要查找其中的和谐关键字,其中关键中可能存在空格或者Tab键,或者两者组合,该怎么实现这个查询呢?string的的indexOf函数好像只能查找出关键字连续的,对于关键字中有空白符的好像查不到。
解决方案 »
- 求中文版电子书《Effective C#》
- 一个新手的很水的问题
- 高分求解:关于Labview调用C#编写的接口dll文件的问题!!
- 请问xml中这两个的区别:<BARCODE /> 与<BARCODE></BARCODE>
- 数组用变量赋值,怎么样在更改数组的同时变量也被更改
- 请问从另一个服务器上追加记录时怎么判断已经追加过的记录?
- C# 服务程序的安装问题
- 哪位大侠能帮帮小弟?水晶报表连接数据集问题.
- C#多线程中怎么样把一个线程得到的值传给另一个线程
- 请教各位朋友:如何在notifyicon上实现多个icon,icon即随着状态的改变而变化。
- 请教高手,两个datatable中比较相同值,在线等
- SqlBulkCopy报错: 不能将值 NULL 插入列'flag'
contains不能返回关键字的索引。用正则去掉字符串中的空白符,然后用indexOf查找,此法应该可行。
a bcdabcd
你搜索ab或是搜索a b。结果是否表示一样?
List<string> listKey = new List<string>() { "和谐", "和 谐" };
List<int> indexs = new List<int>();
listKey.ForEach(s => indexs.Add(strText.IndexOf(s))); indexs.ForEach(s => { if (s > -1) Console.WriteLine(s); });
我要搜索ab,在字符串中的ab中间可有任意个数的空白符。
这样不知道成不成了
string key = "和谐";
string key2 = "(?is)";
for (int i = 0; i < key.Length; i++)
{
key2 += key[i].ToString();
if(i < key.Length - 1) key2 += @"\s*";
} MatchCollection mc = Regex.Match(strText, key2);
foreach (Match m in mc)
{
m.Value;//匹配出来的值
}
正则表达式 c#的
foreach (Match m in Regex.Matches(str, "和([\\s,\\t])*谐"))
MessageBox.Show(m.Value);str为你要查找的字符窜,空格和tab