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;

    }

  • 相关阅读:
    【luogu4719】动态DP模板 [动态DP]
    【2019.9.22】
    [JSOI2010]连通数[tarjan缩点]
    【2019.9.16】Za
    【2019.9.18】Za
    [USACO14OPEN]GPS的决斗Dueling GPS's [最短路]
    【CF891C】Envy [最小生成树]
    【2019.9.17】Za
    【2019.9.17】
    【luogu3403】跳楼机 [同余最短路]
  • 原文地址:https://www.cnblogs.com/lybandly521/p/4747725.html
Copyright © 2011-2022 走看看