zoukankan      html  css  js  c++  java
  • oc字符串操作

    #import <Foundation/Foundation.h>

     @interface LYBNsstring : NSObject

     //1.

    +(NSString *) reveseWordsOfString:(NSString *)string;

     //2.

    +(NSArray *)symmetryArray:(NSArray *)arr;

     //3.

    +(NSInteger)countWord:(NSString *)string;

    //4.

    +(NSInteger)countOfString:(NSString *)string withSubString:(NSString *)substring;

    //5.

    +(BOOL)is1000PhoneMail:(NSString *)str;

    @end

    #import "LYBNsstring.h"

     @implementation LYBNsstring

    //1.

    +(NSString *) reveseWordsOfString:(NSString *)string{

        NSMutableArray * arr = [[NSMutableArray alloc]init];

        NSArray * array = [string componentsSeparatedByString:@" "];

        [arr addObjectsFromArray:array];

        NSInteger len = arr.count;

        for (int i = 0; i<len/2; i++) {

            [arr exchangeObjectAtIndex:i withObjectAtIndex:len-i-1];

        }

        NSString * str = [arr componentsJoinedByString:@" "];

        return str;

    }

    //2.

    +(NSArray *)symmetryArray:(NSArray *)arr{

        NSMutableArray * array1 = [[NSMutableArray alloc]init];

        [array1 addObjectsFromArray:arr];

        NSInteger len = array1.count;

        long i ;

        for (i=0; i<len/2; i++) {

            [array1 exchangeObjectAtIndex:i withObjectAtIndex:len-i-1];

        }

        NSArray * array2 = [arr arrayByAddingObjectsFromArray:array1];

        return array2;

    }

    //3.

    +(NSInteger)countWord:(NSString *)string{

        NSInteger len = string.length;

        long i;

        int k =0;

        for (i=1; i<len; i++) {

            unichar ch = [string characterAtIndex:i];

            unichar ch1 = [string characterAtIndex:i-1];

            if (!isalpha(ch)&&isalpha(ch1)) {

                k++;

            }

        }

        return k;

    }

    //4.

    +(NSInteger)countOfString:(NSString *)string withSubString:(NSString *)substring{

        NSInteger len = string.length;

        NSMutableString * str = [[NSMutableString alloc]init];

        [str appendString:string];

        long i ;

        int k=0;

        for (i = 0; i<len;) {

            NSRange rang = [str rangeOfString:substring];

            if (rang.location!=NSNotFound) {

                k++;

                NSString * stt=[str substringFromIndex:rang.location+rang.length+1];

                [str setString:stt];

            }

            else{

                break;

            }

        }

        return k;

    }

    //5.

    +(BOOL)is1000PhoneMail:(NSString *)str{

        NSInteger len = str.length;

        NSString * str1 = @"@1000phone.com";

        if ([str hasSuffix:str1]==NO) {

            return NO;

        }

        NSString * str2 = [str substringToIndex:len-str1.length];

        for (int i = 0; i<str2.length;i++)

        {

            unichar ch = [str2 characterAtIndex:i];

            if (!isalpha(ch)&&!isalnum(ch)&&(ch!='_'))

            {

                return NO;

            }

            else{

                return YES;

            }

        }

        return YES;

    }

    @end

    #import <Foundation/Foundation.h>

    #import "LYBNsstring.h"

    int main(int argc, const char * argv[])

    {

        @autoreleasepool {

            

            //1.

            NSLog(@"%@",[LYBNsstring  reveseWordsOfString:@"Welcome to Beijing"] );

            

            //2.

            NSLog(@"%@",[LYBNsstring symmetryArray:@[@"one", @"Two", @"Three"]]);

            

            //3.

            

            NSLog(@"%ld",(long)[LYBNsstring countWord:@"Yes, she*is%my@love."]);

            

            //4.

            NSLog(@"%ld",[LYBNsstring countOfString:@"Wellcome to Beijing,come to here" withSubString:@"come"]);

            

            //5.

            NSLog(@"%d",[LYBNsstring is1000PhoneMail:@"$mail@1000phone.com"]);

        }

        return 0;

    }

  • 相关阅读:
    CesiumLab V1.1 新功能 (免费Cesium处理工具集)
    cesium 加载shp格式的白模建筑
    Cesium项目实战(3)-城市建筑三维白膜数据的制作与效果展示
    Tomcat内存优化
    ActiveMQ笔记(5):JMX监控
    mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境
    大众点评cat系统的搭建笔记
    ActiveMQ笔记(4):搭建Broker集群(cluster)
    ActiveMQ笔记(3):基于Networks of Brokers的HA方案
    ActiveMQ笔记(2):基于ZooKeeper的HA方案
  • 原文地址:https://www.cnblogs.com/lybandly521/p/4747725.html
Copyright © 2011-2022 走看看