//
// main.m
// OC3_字符串分割
//
// Created by zhangxueming on 15/6/11.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h>
/*2.对称字符串
传入一个字符串,将这个字符串组合成一个新的对称字符串返回
例如:
传入:@"I love you Mery"
返回:@"I love you Mery Mery you love I"
*/ //2, 字符串分割 @“I #am Prime # # #Optimus”
//字符串分割函数 按照 @" #"字符串整体分割 //3有两个字符串@"I am a good girl hello world";@"You are a bad boy"; 将这两个字符串单词,交叠,形成新的字符串 @"I You am are a a good bad girl boy"
int main(int argc, const char * argv[]) {
@autoreleasepool {
#if 0
//以传入的字符串整体分割字符串
//- (NSArray *)componentsSeparatedByString:(NSString *)separator;
NSArray *array = [@"I love you Mery" componentsSeparatedByString:@" "];
// NSMutableArray *mulArray = [NSMutableArray arrayWithArray:array];
// [mulArray removeObject:@""];
// NSLog(@"mulArray = %@", mulArray);
NSArray *dstArray = [NSArray arrayWithArray:array];
for (NSInteger i=[array count]-; i>=; i--) {
dstArray = [dstArray arrayByAddingObject:[array objectAtIndex:i]];
}
NSString *dstString =[dstArray componentsJoinedByString:@" "];
NSLog(@"dstString = %@", dstString);
#endif
#if 0
//以字符串整体进行分割
NSArray *array = [@"I #am Prime # # #Optimus" componentsSeparatedByString:@" #"];
NSLog(@"array = %@", array);
//以字符集进行分割
NSArray *array2 = [@"I #am Prime # # #Optimus" componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" #"]];
NSLog(@"array2 = %@", array2);
#endif
char str1[]={};
char str2[]={};
scanf("%[^\n]\n%[^\n]",str1,str2);
//NSLog(@"%s\n%s", str1, str2);
NSString *string1 = [NSString stringWithUTF8String:str1];
NSString *string2 = [NSString stringWithUTF8String:str2];
NSArray *array1 = [string1 componentsSeparatedByString:@" "];
NSArray *array2 = [string2 componentsSeparatedByString:@" "];
NSUInteger len1 = [array1 count];
NSUInteger len2 = [array2 count]; NSArray *dstArray = [NSArray array];
NSUInteger len = len1>len2?len2:len1;
for (NSInteger i=; i<len; i++) {
dstArray = [dstArray arrayByAddingObject:[array1 objectAtIndex:i]];
dstArray = [dstArray arrayByAddingObject:[array2 objectAtIndex:i]];
} NSArray *subArray =len1>len2?[array1 subarrayWithRange:NSMakeRange(len, len1-len)]:[array2 subarrayWithRange:NSMakeRange(len, len2-len)];
dstArray = [dstArray arrayByAddingObjectsFromArray:subArray];
NSString *dstString = [dstArray componentsJoinedByString:@" "];
NSLog(@"dstString = %@", dstString);
}
return ;
}

OC3_字符串分割的更多相关文章

  1. SQL Server 游标运用:鼠标轨迹字符串分割

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 游标模板(Cursor Template) 鼠标轨迹字符串分割SQL脚本实现(SQL Code ...

  2. Oracle 超长字符串分割劈分

    Oracle 超长字符串分割劈分,具体能有多长没测过,反正很大.... 下面,,,,直奔主题了: CREATE OR REPLACE FUNCTION splitstr(p_string IN clo ...

  3. php学习零散笔记—字符串分割、fetch函数和单双引号。

    1 字符串分割——split()函数和preg_split()函数 split — 用正则表达式将字符串分割到数组中——貌似PHP5.3以上已不赞成使用 array split ( string $p ...

  4. 工作中用到的oracle字符串分割整理

    oracle部分: 定义类型(用于字符串分割): create or replace TYPE "STR_SPLIT" IS TABLE OF VARCHAR2 (4000); 字 ...

  5. Python 字符串分割的方法

    在平时工作的时候,发现对于字符串分割的方法用的比较多,下面对分割字符串方法进行总结一下:第一种:split()函数split()函数应该说是分割字符串使用最多的函数用法:str.split('分割符' ...

  6. 在C++中实现字符串分割--split

    字符串分割 在一些比较流行的语言中,字符串分割是一个比较重要的方法,不论是在python,java这样的系统级语言还是js这样的前端脚本都会在用到字符串的分割,然而在c++中却没有这样的方法用来调用. ...

  7. 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

    JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

  8. js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果

    使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...

  9. oracle根据分隔符将字符串分割成数组函数

    --创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type myty ...

随机推荐

  1. css控制大小写

    转换不同元素中的文本: text-transform:uppercase //全大写 text-transform:lowercase //全小写 text-transform:capitalize ...

  2. 解决IE6不支持fixed

    /* IE6 是不支持position:fixed的,解决如下*/.right-bar{ _position:absolute;_top:expression(eval(document.docume ...

  3. Packetbeat协议扩展开发教程(2)

    原文链接:http://elasticsearch.cn/article/53 书接上回:http://elasticsearch.cn/article/48 我们打开Packetbeat项目,看看里 ...

  4. android视频播放心得体会

    android视频播放主要是两种方式1.系统封装好的videoplayer,有前进.后退.暂停/播放.拉动最基本的功能,够一般使用,操作办法也很简单,如果需要自定义程度高就需要用到第二种方法:Surf ...

  5. DotNET 开发常用工具汇集

    开发用专业软件已经很多了,来说说开发用的辅助软件把--分享我常使用的辅助软件 个人工具清单 .NET 程序员十种必备工具 新.net开发十大必备工具 .NET开发不可错过的25款必备工具 我的生活必备 ...

  6. Android真机抓屏- Android Screen Monitor

    一般运行Android应用程序有两种方式一种是设置Android虚拟设备模拟器,通过Android  Virtual Manger进行管理,一种是插入USB数据线直接真机上进行调试,但是如果电脑配置比 ...

  7. 模板 树链剖分BFS版本

    //点和线段树都从1开始 //边使用vector vector<int> G[maxn]; ],num[maxn],iii[maxn],b[maxn],a[maxn],top[maxn], ...

  8. 斐波那契数列_java版本

    package 斐波那契数列; public class fbnq { public static void main(String[] args){ System.out.println(fibon ...

  9. Android View的绘制机制流程深入详解(四)

    本系列文章主要着重深入介绍Android View的绘制机制及流程,第四篇主要介绍Android自定义View及ViewGroup的实现方法和流程. 主要介绍了自绘控件.自定义组合控件.自定义继承控件 ...

  10. svn管理代码在cornerstone上无法添加.a 静态库文件

    有时候.a静态库不能上传到svn的服务器  导致别人拉代码运行不了 这是因为cornerstone设置里面默认不会提交.a文件, 在上图选项栏里是cornerstone默认忽略上传的文件名后缀,在这里 ...