1.正则表达式?
2.程序判断连续的几个字符是否是字母?
想到这二种方式,还有什么更好的办法?
2.程序判断连续的几个字符是否是字母?
想到这二种方式,还有什么更好的办法?
解决方案 »
- (急!)求silverlight textbox 扩展了的字体样式包,在线等
- 关于数据库转换的问题
- 调用动态库出现无法封送处理“return value”: 无效的托管/非托管类型组合。
- 构造函数自己调用构造函数的另外一个,请教写法
- 关于随机数在Text1中滚动c#
- 关于vs2005中的生成安装与部署
- 控件的datasource问题
- 怎样让开发的服务程序监控出错的程序,自动重起.高手来....
- 在下没分了,请教高人,vs.net2003中,使用AjaxPro.dll不成功的问题
- 百分求c#图书
- 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
- datalsit 导出为excel
{
// 在应用程序启动时运行的代码
Application[""total""] = 500000;
Application[""online""] = 2500;
}"; System.Text.RegularExpressions.Regex reg = new Regex("([a-zA-Z]+)");
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
Response.Write(m.Result("$1") + "<BR>");
}
大概格式:
814
00:42:23,100 --> 00:42:26,400
But it comes with sacrifice, believe me.815
00:42:27,400 --> 00:42:28,900
And it's time for you to realize816
00:42:28,900 --> 00:42:34,300
that that talent- it doesn't belong to just you anymore.817
00:42:55,800 --> 00:43:01,800
<font color="#4096d1">破烂熊字幕组
-==http://www.ragbear.com==-
欢迎加入</font>1
00:00:01,800 --> 00:00:04,800
<font color=#4096d1>以下故事内容纯属虚构 如有雷同 实属巧合</font>2
00:00:49,200 --> 00:00:50,600
嗨 Walid3
00:00:50,600 --> 00:00:52,400
你好
几十kb根本算不上大,正则完全可以处理,效率上也不会与其它方法有明显的区别另外英文单词中,如果“-”和“'”不出现在首尾,应该算是英文单词的一部分,这个要看需求了Regex reg = new Regex(@"(?i)\b(?!-)[a-z'-]+(?<!-)\b");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
Regex reg = new Regex(@"(?i)\b(?!['-])[a-z'-]+(?<!['-])\b");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}不过严格来说,有些情况下“'”出现在尾部也是单词的一部分,要看是否有进行判断的必要了
大小写不同算重复吗?List<string> list = new List<string>();
Regex reg = new Regex(@"(?i)\b(?!['-])[a-z'-]+(?<!['-])\b");
reg.Replace(yourStr, delegate(Match m) { if (!list.Contains(m.Value)) list.Add(m.Value); return ""; });
foreach (string s in list)
{
richTextBox2.Text += s + "\n";
}以上未做大小写的判断,有需要自己加下就是了
如何避免呢?
for(int i = 0; i < length ; i++)
{
charType[i] = Char.GetUnicodeCategory(str,i).ToString();
}
charType[i]== "LowercaseLetter"//OtherLetter 汉字
//LowercaseLetter 字母
//SpaceSeparator 空格
//OtherPunctuation 英文逗号
//OtherPunctuation 中文逗号
10楼代码中两处m.Value都改为m.Value.ToLower()就可以了