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%[email protected]"]);

//4.

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

//5.

NSLog(@"%d",[LYBNsstring is1000PhoneMail:@"[email protected]"]);

}

return 0;

}

时间: 2024-10-21 12:46:24

oc字符串操作的相关文章

OC 字符串操作整理

1 // 2 // main.m 3 // StringMK 4 // 5 // Created by LXC on 16/1/7. 6 // Copyright © 2016年 LXC. All rights reserved. 7 // 2016年01月07日23:51:29 8 // 9 10 #import <Foundation/Foundation.h> 11 12 int main(int argc, const char * argv[]) { 13 @autoreleasep

oc 字符串操作

/--------操作字符串--NSString(静态字符串)---------------------    NSString *Beijing= @"北京欢迎您";        //字符串的声明    NSString *[email protected]"北京欢迎您a"; //[NSString stringWithFormat:@"I am '%@'",Beijing];     //字符串格式化    NSString *zhui =

OC字符串NSString常用操作系列01

OC字符串常用操作 NSString基本操作 1 /** 2 * NSString字符串常用操作 3 * initWithFormat:构造方法 4 * initWithUTF8String:将C字符串转换成OC字符串 5 */ 6 #import <Foundation/Foundation.h> 7 8 int main(int argc, const char * argv[]) { 9 @autoreleasepool { 10 11 char *str1="Hello st

OC文件操作(1)

1.文件的浅度遍历与深度遍历: //NSFileManager * fm = [[NSFileManager alloc]init];//创建文件管理器 //第一步创建一个文件管理器 NSError * error= nil; //显示路径下的内容,作用类似于ls -a指令 //返回值是把目录下的内容放到NSArray中 //浅度遍历 NSFileManager * fm = [NSFileManager defaultManager]; NSArray * array = [fm conten

条件、循环、函数定义、字符串操作练习

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式. 对前面的代码进行优化,用for,while,if,def实现: 用循环画五角星 1 import turtle 2 3 turtle.fillcolor("red") 4 turtle.begin_fill() 5 for i in range(5): 6 turtle.forward(100) 7 turtle.right(144) 8 turtle.end_fill() 用循环画同心圆

PHP字符串操作大集合

字符串的处理非常重要.文本字符串中的空格或者其他没有意义的符号.例如,在一个电子商务应用中,当用户填写订单的内容时(如联系地址),可能输入一些空格.句号等PHP4及以上版本提供了4个去除字符串str首尾处空格或其他特殊符号.     string ltrim(string str [, string charlist]):去除字符串str尾的空格或其他特殊符号.     string chop(string str [, string charlist]):功能同rtrim(). 以上函数的第1

C语言难点1之输入输出,链接,字符串操作

C语言难点1之输入输出,链接,字符串操作 最近发现写了一段时间的C之后,还是有一些点并没有很好的get,我就想总结出来,写个系列博客,自己也好好的整理一下思路.这个系列主要出自三本书:<C专家编程>,<C陷阱和缺陷>,<C和指针>.有兴趣的同学可以好好看一下这几本书,对于打好C语言的基础是个非常不错的几本书. 1 一些输入输出的格式 对应的printf():和scanf()函数:在这里我给出常用的scanf格式码,和printf()函数也是一样的. 2 getchar(

C语言字符串操作总结大全(超详细)

1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1

linux shell 字符串操作(长度,查找,替换)详解

原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT}