黑马程序员技术交流社区

标题: 问一道作业题 [打印本页]

作者: disgusting    时间: 2014-7-9 20:19
标题: 问一道作业题
取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出
作者: fantacyleo    时间: 2014-7-9 20:27
  1. class test {
  2.     public static void main(String[] args) {
  3.         String s = "123-456-789-000";
  4.         String[] parts = s.split("-");
  5.         StringBuilder sb = new StringBuilder();
  6.         for(int i = 0; i < parts.length; i++)
  7.             sb.append(parts[i]);
  8.         System.out.println(sb);
  9.         
  10.     }
  11. }
复制代码

作者: disgusting    时间: 2014-7-9 20:35
fantacyleo 发表于 2014-7-9 20:27

有没有数组直接转换成字符串的方法,不用遍历的、
作者: fantacyleo    时间: 2014-7-9 21:02
disgusting 发表于 2014-7-9 20:35
有没有数组直接转换成字符串的方法,不用遍历的、

你说C还是OC?
作者: disgusting    时间: 2014-7-9 21:05
fantacyleo 发表于 2014-7-9 21:02
你说C还是OC?

我说OC。
作者: gyw520gyw    时间: 2014-7-9 22:26
disgusting 发表于 2014-7-9 20:35
有没有数组直接转换成字符串的方法,不用遍历的、

用new String()可以么
作者: 骑着飞机去看海    时间: 2014-7-9 22:29
还真不知道。。。。谁把答案公布了 顺便回复我一下 。。。
作者: disgusting    时间: 2014-7-9 22:32
gyw520gyw 发表于 2014-7-9 22:26
用new String()可以么

这是啥?
作者: 梦幻翌    时间: 2014-7-9 22:58
NSString *str5=@"123-456-789-000";      NSString *newStr5=  [str5 stringByReplacingOccurrencesOfString:@"-" withString:@""];//替换法 把-替换成空       NSLog(@"newStr5=%@",newStr5);
作者: 为梦想挺身而出    时间: 2014-7-9 23:06
  1. 第一种

  2. #import <stdio.h>


  3. int main()
  4. {
  5.     @autoreleasepool {
  6.         
  7.         
  8.     NSString *str = @"123-456-789-000";
  9.    
  10.     NSMutableString *newStr = [NSMutableString string];
  11.    
  12.     for (int i = 0; i<str.length; i++) {
  13.         char s = [str characterAtIndex:i];
  14.         
  15.         if (s != '-') {
  16.             [newStr appendFormat:@"%c",s];
  17.         }
  18.         
  19.     }

  20.     NSLog(@"%@", newStr);
  21.    
  22. }

  23. }
复制代码

  1. 第二种

  2. #import <stdio.h>

  3. int main()
  4. {
  5.     @autoreleasepool {
  6.         
  7.         
  8.         NSString *str = @"123-456-789-000";
  9.         
  10.         
  11.         NSArray *array = [str componentsSeparatedByString:@"-"];
  12.         
  13.         NSMutableString *newStr = [NSMutableString string];
  14.       
  15.         
  16.         for (id obj in array)
  17.         {
  18.             [newStr appendString:obj];
  19.         }
  20.         
  21.       
  22.         NSLog(@"%@",newStr);
  23.         
  24.     }
  25.    
  26. }
复制代码

作者: fantacyleo    时间: 2014-7-9 23:42
disgusting 发表于 2014-7-9 21:05
我说OC。

10楼兄弟的第二种方案不错。用componentsSeparatedByString:方法。我在他的基础上把最后输出新字符串的方式简化了一下。

  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[])
  3. {

  4.     @autoreleasepool {
  5.         
  6.         NSString *str = @"123-456-789-000";
  7.         
  8.         
  9.         NSArray *array = [str componentsSeparatedByString:@"-"];
  10.         
  11.         NSString *newStr = [array componentsJoinedByString:@""];
  12.         
  13.         
  14.         NSLog(@"%@",newStr);
  15.     }
  16.     return 0;
  17. }
复制代码

作者: disgusting    时间: 2014-7-10 03:59
fantacyleo 发表于 2014-7-9 23:42
10楼兄弟的第二种方案不错。用componentsSeparatedByString:方法。我在他的基础上把最后输出新字符串的方 ...

受教了。。。。
作者: disgusting    时间: 2014-7-10 04:01
为梦想挺身而出 发表于 2014-7-9 23:06

谢谢啦。。。。
作者: 抱0抱    时间: 2014-7-10 09:58
写一个循环,里面再写一个条件,如果内容在0-9之间就输出,再写一个拼接字符串的构造方法就行了
作者: 抱0抱    时间: 2014-7-10 09:59
OC数组Array可以转换为NSString的,你看下框架那部分
作者: 为梦想挺身而出    时间: 2014-7-10 18:13
fantacyleo 发表于 2014-7-9 23:42
10楼兄弟的第二种方案不错。用componentsSeparatedByString:方法。我在他的基础上把最后输出新字符串的方 ...

对我很有帮助,兄弟很给力!
作者: 为爱编程    时间: 2014-7-10 19:05
自制力要求相当之高
作者: 刘圣涛    时间: 2014-7-10 21:42
我来学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2