黑马程序员技术交流社区
标题:
提取一段文本的所有数字,不用正则。求其他方法
[打印本页]
作者:
Doublekill
时间:
2014-3-12 23:08
标题:
提取一段文本的所有数字,不用正则。求其他方法
本帖最后由 Doublekill 于 2014-3-13 22:12 编辑
string str = "大家好,我是3,我22岁了12,3";
for (int i = 0; i < str.Length; i++)
{
if (str
>= '0' && str
<= '9')
{
Console.WriteLine(str
);
}
}
Console.ReadKey();
这样结果虽然把数字全部显示了,但是都全部分离显示的,我要的22,变成了2,2 求优化。。顺便介绍下方法,新手,谢谢
作者:
cancle
时间:
2014-3-12 23:41
本帖最后由 cancle 于 2014-3-12 23:43 编辑
你可以这样写:
string str = "大家好,我是3,我22岁了12,3";
char[] chs={'大','家','好','我','是',',','岁','了',','};
string[] s = str.Split(chs, StringSplitOptions.RemoveEmptyEntries);//把str分割为字符串数组,移除了空格元素
for (int i = 0; i < s.Length; i++)
{
Console.Write(s[i] + " ");
}
Console.ReadKey();
复制代码
作者:
百川
时间:
2014-3-13 00:35
string str = "大家好,我叫33,我今年22,1了";
char[] chr = new char[str.Length];//新建一个char数组,将里面的非数字转换为' '
int j = 0;
for (int i = 0; i < str.Length; i++)
{
if ((str[i] >= '0') && (str[i] <= '9'))
{
chr[j] = str[i];
}
else
{
chr[j] = ' ';
}
j++;
}
string str1 = new string(chr);//将char数组重新组合在一起
string[] strarr = str1.Split(' ');//字符串用' '隔开,即分离出不是空格的字符,即数字
foreach (string s in strarr)//输出
{
if (s.Trim() != "")
{
Console.WriteLine(s);
}
}
Console.ReadKey();
复制代码
作者:
Doublekill
时间:
2014-3-13 22:12
百川 发表于 2014-3-13 00:35
thank you!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2