黑马程序员技术交流社区
标题:
关于字符串问题
[打印本页]
作者:
YKS
时间:
2014-7-18 22:53
标题:
关于字符串问题
取出字符串“u49a-78ui-3gy68-3r7t”中的数字部分,组成一个新的字符串输出。
字符串这节没学好,求高人指点一下。
作者:
443201683@qq.co
时间:
2014-7-18 23:10
ASCII中数字(0~9)的编码序号是48~57 ,你加个循环语句控制只输出数字例如
for(int i=0;ch[i]>=48&&ch[i]<=57;i++)
{
//body
}
复制代码
这样就好了
作者:
为梦想挺身而出
时间:
2014-7-18 23:13
// OC
#import <Foundation/Foundation.h>
int main()
{
@autoreleasepool {
NSString *str = @"u49a-78ui-3gy68-3r7t";
NSMutableString *newStr = [NSMutableString string];
for (int i = 0; i<str.length; i++) {
// 取出索引的字符
char c = [str characterAtIndex:i];
// 判断
if ( c >= '0' && c<= '9' ) {
[newStr appendFormat:@"%c", c];
}
}
NSLog(@"%@", newStr);
}
return 0;
}
// C语言
#include <stdio.h>
#include <string.h>
int main()
{
char s[100] = "u49a-78ui-3gy68-3r7t";
size_t length = strlen(s);
char newS[100];
int c = 0;
for (int i = 0; i<length; i++) {
if (s[i] >= '0' && s[i] <= '9') {
newS[c] = s[i];
c++;
}
}
printf("%s", newS);
return 0;
}
复制代码
作者:
爱情路13号
时间:
2014-7-18 23:58
楼上真是神人也
作者:
istream
时间:
2014-7-19 14:53
本帖最后由 istream 于 2014-7-19 14:54 编辑
用指针一个一个去的测试,测试范围是否是在'0'到'9'之间,取出即可,无须去记字符0到9的ASCII码。
作者:
一十二。
时间:
2014-7-19 18:15
貌似不需要记只要吧48写成'0' 这样就可以了
作者:
一十二。
时间:
2014-7-19 18:16
貌似不需要记只要吧48写成'0' 这样就可以了
作者:
YKS
时间:
2014-7-20 17:09
为梦想挺身而出 发表于 2014-7-18 23:13
谢谢了。。。。。。
作者:
Devchen
时间:
2014-7-20 20:48
为梦想挺身而出 发表于 2014-7-18 23:13
好强大的感觉
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2