黑马程序员技术交流社区
标题:
关于字符串的操作
[打印本页]
作者:
李国龙
时间:
2013-5-20 16:26
标题:
关于字符串的操作
现在有这样的一组字符hj@jhjk@hjkh$hjkhk$hjkhk$kljlk$khkj@jkhk$hkjjk$hjkhkd$gjkshdk$jklkl@kkjk我怎么取出其中的字母啊,
作者:
画饼
时间:
2013-5-20 16:35
String[] split(String regex)
拆分
作者:
shenge321
时间:
2013-5-20 17:17
本帖最后由 shenge321 于 2013-5-20 17:20 编辑
winform下。方法是用正则实现。
SDFSDF.JPG
(20.88 KB, 下载次数: 0)
下载附件
2013-5-20 17:19 上传
命名空间
using System.Text.RegularExpressions;//使用正则时调用
复制代码
具体代码
string str = lbyuanzifu.Text;//获取原始字符串
string word = "";//存储取出的字母
int j = 0;//计数非字母字符个数
for (int i = 0; i < str.Length; i++)
{
string pattren = @"[A-Za-z]";//为英文字母时的正则
Match mc = Regex.Match(str[i].ToString(), pattren);
if (mc.Success)//索引为i时,该字符为字母
{
word = word + str[i].ToString();
}
else
j++;
}
lbchulihou.Text = "处理后字符串:" + word + "\r\n处理后字符串长度:" + word.Length.ToString() + "\r\n处理前字符串长度:" + str.Length.ToString() + "\r\n非字母字符长度:" + j;
复制代码
作者:
曾大鹏
时间:
2013-5-20 17:27
用正则表达式
string str = "hj@jhjk@hjkh$hjkhk$hjkhk$kljlk$khkj@jkhk$hkjjk$hjkhkd$gjkshdk$jklkl@kkjk";
//正则表达式字符串
string regDigit = @"[a-zA-Z]+";
MatchCollection matches = Regex.Matches(str, regDigit);//提取所有字母
//循环遍历
foreach (Match item in matches)
{
//如果个数>0表示有字母
if (matches.Count>0)
{
Console.WriteLine(item.Value);
}
}
Console.ReadKey();
复制代码
作者:
庞海瑞
时间:
2013-8-2 19:29
string str = "How are you?Fine,Thank you!"; char[] removeChar = {' ','?',',','!'}; string[] words = str.Split(removeChar,StringSplitOptions.RemoveEmptyEntries); 还可以这样写:string[] words = str.Split(‘,’,’?’’!’);//这行代码也可以去掉那些字符(?/!/,),但不能去除空格(‘ ’)。 Console.WriteLine("这a句?话°共有{0}个单词?,words.Length); Console.WriteLine("这几个单词分别为:"); for (int i = 0; i < words.Length; i++) { Console.WriteLine(words[i]); }
作者:
庞海瑞
时间:
2013-8-2 19:32
string str = "hj@jhjk@hjkh$hjkhk$hjkhk$kljlk$khkj@jkhk$hkjjk$hjkhkd$gjkshdk$jklkl@kkjk";
char[] removeChar = {' '@'$"};
string[] words = str.Split(removeChar,StringSplitOptions.RemoveEmptyEntries);
还可以这样写:string[] words = str.Split(‘,’,’?’’!’);//这行代码也可以去掉那些字符(?/!/,),但不能去除空格(‘ ’)。
Console.WriteLine("这a句?话°共有{0}个单词?,words.Length);
Console.WriteLine("这a几?个?单词分别为:");
for (int i = 0; i < words.Length; i++)
{
Console.WriteLine(words[i]);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2