分页: 1 / 1

字符串处理

发表于 : 2009-06-26 10:21
chuzhufei
文件格式如G10=(G1,G2,G3)
或者G10=(G1,G2)
后面括号中的个数不一定
现在需要分离出其中的数字该怎么办? 提取如 10 1 2 3 出来

Re: 字符串处理

发表于 : 2009-06-26 10:46
peachcolor
比如文件text内容如下

代码: 全选

G10=(G1,G2,G3)
G10=(G1,G2)
终端这么搞一下

代码: 全选

cat text | sed 's/[=G]//g' | sed 's/[,=\(\)]/ /g'
输出就这样

代码: 全选

10 1 2 3 
10 1 2 

Re: 字符串处理

发表于 : 2009-06-26 14:00
chuzhufei
peachcolor 写了:比如文件text内容如下

代码: 全选

G10=(G1,G2,G3)
G10=(G1,G2)
终端这么搞一下

代码: 全选

cat text | sed 's/[=G]//g' | sed 's/[,=\(\)]/ /g'
输出就这样

代码: 全选

10 1 2 3 
10 1 2 
C语言怎么实现啊

Re: 字符串处理

发表于 : 2009-07-23 3:09
Final_x
大概有个思路:逐字符扫描,
----若为数字:入栈
----若非数字:全部出栈

Re: 字符串处理

发表于 : 2009-07-23 8:36
eexpress
c也支持正则的啊。
搜索数字就是\d*

Re: 字符串处理

发表于 : 2009-07-25 6:26
tusooa

代码: 全选

#include <stdio.h>
int main()
{
    char *l;
    scanf("%s", &l);
    for(int i=0;a[i] != "\0"; i++)
    {
        if (a[i]==0 || a[i]==1 || a[i]==2 || a[i] == 3 || a[i] == 4 || a[i]==5 || a[i] == 6 || a[i]==7|| a[i]== 8 || a[i]==9)
        {
            printf("%d  ", a[i]);
        }
    }
    printf("\n");
}

Re: 字符串处理

发表于 : 2009-07-25 15:28
xiaocheng_zh
ls的语言可以再精炼下下!

#include <ctype.c>
int main(int argc, char * argv[]){
/*bla bla……*/
if ( isdigit ( a ) ){
/*bla bla……*/

return 0;
}