在OC中,NSString對象是非常重要的一個對象,也是最基礎的一個對象,是用來處理字符串的常用類,和Java中的String類非常相似,而且他的一些方法也是很類似的。
關於NSString的一些函數的使用,直接用下面的例子說明了
// NSString
//————————————1、字符串的創建——————————————
// 1>最常見的創建方法 *****
NSString *str = @"這是一個字符串";
NSLog(@"str = %@",str);
NSString *str2 = [[NSString alloc]initWithFormat:@"this is a string"];
// 3>可以進行一個拼接 ***
NSString *str3 = [[NSString alloc]initWithFormat:@"%@",str];
NSLog(@" str2 = %@",str2);
NSLog(@" str3 = %@",str3);
// 4》
NSString *str4 = [NSString stringWithFormat:@"這是一字符串"];
NSString *str5 = [NSString stringWithFormat:@"%@",str];
NSLog(@" str4 = %@ str5 = %@",str4,str5);
//——————————————2.字符串的比較————————————————
// 1》
NSString *str6 = [[NSString alloc] initWithFormat:@"a"];
NSString *str7 = [[NSString alloc] initWithFormat:@"A"];
NSLog(@"str6 = %p str7 = %p ",str6,str7);
// = 比較的是指針地址
if (str6 == str7) {
NSLog(@"比較的是指針地址");
}
// isEqualToString 比較的是內容 是否相同
BOOL isEqualToString = [str6 isEqualToString:str7];
NSLog(@"比較的是內容 %d ",isEqualToString);
// 2>
// caseInsensitiveCompare 可以比較字符串是升序 相同 降序
// 忽略大小寫的比較
NSComparisonResult result = [str6 caseInsensitiveCompare:str7];
/*
typedef NS_ENUM(NSInteger, NSComparisonResult) {
NSOrderedAscending = -1L,//升序
NSOrderedSame, //相同
NSOrderedDescending //降序
};
*/
if (result == NSOrderedAscending ) {
NSLog(@"升序");
} else if (result == NSOrderedSame) {
NSLog(@"相同");
} else {
NSLog(@"降序");
}
// ________________3字符串的長度_____________
NSString *str8 = @"abc";
// length
NSUInteger length = [str8 length];
NSLog(@"length = %ld",length);
//—————————————————4.字符串的大小寫的轉換—————————————————
NSString *str9 = @"hello World";
//capitalizedString 首字母大寫
NSString *str10 = [str9 capitalizedString];
NSLog(@"str10 = %@",str10);
//uppercaseString 把所有的字母變成大寫
NSString *str11 = [str9 uppercaseString];
NSLog(@"str11 = %@",str11);
//lowercaseString 把所有的字母變成xiao寫
NSString *str12 = [str9 lowercaseString];
NSLog(@"str12 = %@",str12);
//————————————————5.轉換成基本的數據類型——————————————————
// ****
NSString *str13 = @"10";
NSString *str14 = @"3";
//字符串是不能計算
// str13 - str1;
int a = [str13 intValue];
int b = [str14 intValue];
NSLog(@"a - b = %d ",a - b);
NSString *str15 = @"3.0";
int c = [str15 floatValue];
// NSString *str16 = @"3aa";
// int d = [str16 intValue];
// NSLog(@"d = %d ",d);
//—————————————————6.字符串的截取———————————————————
//*****
NSString *str16 = @"abc def hij";
NSArray *array1 = [str16 componentsSeparatedByString:@" "];
NSLog(@"array1 = %@",array1);
//characterAtIndex 根據制定的下標訪問裏面的元素
char char1 = [str16 characterAtIndex:0];
NSLog(@"char1 = %c ",char1);
//substringFromIndex 根據下標截取這個下標以後的字符串 包括這個下標所對應的字符
NSString *str17 = [str16 substringFromIndex:2];
NSLog(@"str17 = %@",str17);
//substringToIndex 從開頭截取到對應的下標 但是不包括下標所對應的字符
NSString *str18 = [str16 substringToIndex:2];
NSLog(@"str18 = %@",str18);
//截取到指定的範圍
/*
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
*/
NSRange rang = NSMakeRange(0, 2);
//NSString *str16 = @"abc def hij";
NSString *str19 = [str16 substringWithRange:rang];
NSLog(@"str19 = %@",str19);
//——————————————7.字符串的拼接————————————————
//****
NSString *str20 = @"hello";
NSString *str21 = @"world";
//stringByAppendingFormat 拼接
NSString *str22 = [str20 stringByAppendingFormat:@" %@",str21];
NSLog(@"str22 = %@",str22);
NSString *str23 = [str20 stringByAppendingString:str21];
NSString *str24 = [NSString stringWithFormat:@"%@ %@",str21,str22];
NSLog(@"str23 = %@ str24 = %@",str23,str24);
// —————————————8.查找—————————————————
NSString *str25 = @"[email protected]";
NSString *str26 = @"qq.com";
NSRange rang2 = [str25 rangeOfString:str26];
if (rang2.location != NSNotFound) {
// 沒有找到位置
NSLog(@"找到了");
NSLog(@"位置 %ld 長度 %ld ",rang2.location,rang2.length);
}
// 字符串的替換
NSString *str27 = [str25 stringByReplacingOccurrencesOfString:@"qq.com" withString:@"163.com"];
NSLog(@"str27 = %@",str27);
再給出一些更加詳細的說明:
1.創建NSString字符串
NSString 與 char* 最大的區別就是 NSString是一個objective對象,而char* 是一個字節數組。@+” 字符串 ” 這個符號爲objective-c NSString 字符串常量的標準用法,char* 創建的時候 無需添加@
- (void)viewDidLoad
{
[super viewDidLoad];
//經典的字符串賦值
NSString *str0 = @"my name is justcoding !";
//字符串格式化合並分別包括
//NSString*類型 int類型 char*類型
NSString *str1 = [NSString stringWithFormat:@"我的名字:%@ 我的年齡:%d 我的郵箱:%s",@"justcoding", 25,"[email protected]"];
//字符串賦值 參數中只可以寫一個字符串 和第一種很像
NSString *str2 = [NSString stringWithString:@"我是字符串"];
//字符串轉換爲utf-8格式 參數爲char*類型
NSString *str3 = [NSString stringWithUTF8String:"字符串轉換utf-8格式"];
//字符串合併
int i = 100;
char*c = "xuanyusong";
NSString *temp = @"我是臨時字符串";
//在字符串temp的基礎繼續添加 int i 與 char* c 組成一個新的字符串
NSString *str4 = [temp stringByAppendingFormat:@"整型: %d 字符型 :%s",i,c];
//在字符串temp的基礎繼續添加temp 並組成一個新的字符串
NSString *str5 = [temp stringByAppendingString:temp];
//字符串輸出
NSLog(@"str0 = %@", str0);
NSLog(@"str1 = %@", str1);
NSLog(@"str2 = %@", str2);
NSLog(@"str3 = %@", str3);
NSLog(@"str4 = %@", str4);
NSLog(@"str5 = %@", str5);
}
2.字符串的遍歷
每一個字符串其實是由若干個char字符組成,字符串的遍歷實際上就是將字符串中的每一個字符提取出來。
- (void)viewDidLoad
{
[super viewDidLoad];
//經典的字符串賦值
NSString *str = @"YUSONGMOMO";
//字符串的長度
int count = [str length];
NSLog(@"字符串的長度是%d",count);
//遍歷字符串中的每一個字符
for(int i =0; i < count; i++)
{
char c = [str characterAtIndex:i];
NSLog(@"字符串第 %d 位爲 %c",i,c);
}
}
3.字符串的比較
isEqualToString 比較字符串是否完全相等,大小寫不一樣也無法完全匹配。
hasPrefixe 匹配字符串頭
haSuffix 匹配字符串的尾巴
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *str0 = @"justcoding";
NSString *str1 = @"justcoding";
//字符串完全相等比較
if([str0 isEqualToString:str1])
{
NSLog(@"字符串完全相等");
}
//字符串以開頭比較
if([str0 hasPrefix:@"just"])
{
NSLog(@"字符串str0以just開頭");
}
//字符串以結尾比較
if([str1 hasSuffix:@"coding"])
{
NSLog(@"str1字符串以coding結尾");
}
}
//isEqualToString方法
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 isEqualToString:astring02];
NSLog(@"result:%d",result);
//compare方法(comparer返回的三種值)
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedSame;
NSLog(@"result:%d",result);
//NSOrderedSame 判斷兩者內容是否相同
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"this is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;
NSLog(@"result:%d",result);
//NSOrderedAscending 判斷兩對象值的大小(按字母順序進行比較,astring02大於astring01爲真)
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;
NSLog(@"result:%d",result);
//NSOrderedDescending 判斷兩對象值的大小(按字母順序進行比較,astring02小於astring01爲真)
//不考慮大 小寫比較字符串1
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;
NSLog(@"result:%d",result);
//NSOrderedDescending判斷兩對象值的大小(按字母順序進行比較,astring02小於astring01爲 真)
//不考慮大小寫比較字符串2
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02 options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;
NSLog(@"result:%d",result);
//NSCaseInsensitiveSearch:不區分大小寫比較 NSLiteralSearch:進行完全比較,區分大小寫 NSNumericSearch:比較字符串的字符個數,而不是字符值。
判斷的方法可以利用 NSString 類別中 caseInsensitiveCompare: 所回傳 -1、0 或是 1 的數值,判定兩個字串之間得排序關係,其程式瑪如下。
NSString *string = @"0";
NSComparisonResult result = [string caseInsensitiveCompare:@"A"];
switch (result) {
case NSOrderedAscending:
NSLog(@"升冪");
break;
case NSOrderedSame:
NSLog(@"忽略大小寫相同的字串");
break;
case NSOrderedDescending:
NSLog(@"降冪");
break;
default:
NSLog(@"無法判定");
break;
}
4、 文件字符追加
NSString *str1=[str stringByAppendingString:@"abc"];
5、字符串的截取和大小寫
//改變字符串的大小寫
NSString *string1 = @"A String";
NSString *string2 = @"String";
NSLog(@"string1:%@",[string1 uppercaseString]);//大寫
NSLog(@"string2:%@",[string2 lowercaseString]);//小寫
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小
6、搜索字符串與替換字符串
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *str0 = @"中文my name is xuanyusong";
NSString *temp = @"is";
NSRange rang = [str0 rangeOfString:temp];
NSLog(@"搜索的字符串在str0中起始點的index 爲 %d", rang.location);
NSLog(@"搜索的字符串在str0中結束點的index 爲 %d", rang.location + rang.length);
//將搜索中的字符串替換成爲一個新的字符串
NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"哇咔咔卡卡咔"];
NSLog(@"替換後字符串爲%@", str);
//將字符串中" " 全部替換成 *
str = [str0 stringByReplacingOccurrencesOfString :@" " withString:@"@"];
NSLog(@"替換後字符串爲%@", str);
}
拓展:使用下面這個方法整體替換字符串還可以設置替換的區域。
stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)
7、字符串與C中char得一些轉換方法
char *chr="hello";
NSString *str=[[NSString alloc]initWithCString:chr encoding:NSUTF8StringEncoding];
NSString *str1=[[NSString alloc]initWithUTF8String:chr];
NSString *str2=[NSString stringWithUTF8String:chr];
8、判斷前後綴
[str hasPrefix:@"www"];
[str hasSuffix:@".com"];
返回值爲BOOL類型
關於NSMutalbeString一些方法
1、字符串尾部添加
使用alloc在內存中創建字符串對象後邊可以動態的操作這個字符串,修改與添加等。
appendstring 方法:向字符串尾部添加一個字符串。
appendFormat方法:向字符串尾部添加多個類型的字符串,可以添加任意數量與類型的字符串。
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableString * str = [[NSMutableString alloc] init];
//添加普通的字符串
[str appendString:@"aaa"];
//添加字符串 整型 字符型
[str appendFormat:@"我的名字:%@ 我的年齡:%d 我的郵箱:%s",@"justcoding", 25,"[email protected]"];
NSLog(@"str = %@",str);
}
2、字符串中刪除元素
stringWithString 方法:用於創建字符串初始化賦值(將不可變轉爲可變)
rangeOfString方法:傳入字符串返回一個在該字符串中的範圍 也可以寫 NSMakeRange(0, 3) 意思是範圍在字符串0位到第3位
deleteCharactersInRange:刪除字符串 參數爲Range 就是刪除的範圍。
- (void)viewDidLoad
{
[super viewDidLoad];
//創建字符串
NSMutableString *str = [NSMutableString stringWithString:@"justcoding is best!"];
//刪除字符串中含"justcoding"的字符
[str deleteCharactersInRange: [str rangeOfString: @"justcoding"]];
NSLog(@"str = %@",str);
}
3、 字符串插入
stringWithString 方法:用於創建字符串初始化賦值
insertString方法:第一個參數 插入的字符串對象, 第二個參數 插入的位置。
- (void)viewDidLoad
{
[super viewDidLoad];
//創建字符串
NSMutableString *str = [NSMutableString stringWithString:@"justcoding is"];
//在str第10位插入字符串
[str insertString:@"best man" atIndex:10];
NSLog(@"str = %@",str);
}
4、 字符串拷貝
- (void)viewDidLoad
{
[super viewDidLoad];
//創建字符串
NSMutableString *str1 = [NSMutableString stringWithString: @"字符串1"];
NSMutableString *str2;
//字符串賦值
str2 = str1;
[str2 appendString: @" 和字符串2"];
NSLog (@"str1 = %@", str1);
NSLog (@"str2 = %@", str2);
}
5、字符串與指定類型轉換
如果轉換的參數非法的話不會拋出異常,好比用中文去轉整型。不會報錯 但是轉換結果爲 0 ,默認值。
- (void)viewDidLoad
{
[super viewDidLoad];
//字符串轉整型
NSString *str0 = @"1121";
//NSString *str0 = @"中國";
//把字符串強轉成整型
int i = [str0 intValue];
NSLog (@"轉換後:%i", i);
//字符串轉interger
NSString *str1 = @"1985";
// NSString *str1 = @"中國";
//把字符串強轉成interger
NSInteger ii = [str1 integerValue];
NSLog (@"轉換後:%i", ii);
//字符串轉double
NSString *str2 = @"3.145926";
//NSString *str2 = @"中國";
//把字符串強轉成double
double d = [str2 doubleValue];
NSLog (@"轉換後:%f", d);
//字符串轉float
NSString *str3 = @"3.145926";
//NSString *str3 = @"中國";
//把字符串強轉成float
double f = [str3 floatValue];
NSLog (@"轉換後:%f", f);
}
NSString 常用方法總結
+(id)stringWithContentsOfFile:path encoding:enc err 創建一個新字符串並將其設置爲 path 指定文件的內容,使用字符編碼 enc,在err 上返回錯誤
+(id)stringWithContentsOfURL:url encoding:enc err 創建一個新字符串並將其設置爲 url 所指向的內容,使用字符編碼 enc,在err 上返回錯誤
+(id)string 創建一個新的空字符串
+(id)stringWithString:nsstring 創建一個新字符串,將其內容設置爲 nsstring 內容
-(id)initWithString:nsstring 將字符串內容設置爲 nsstring 內容
-(id)initWithContentsOfFile:path encoding:enc error:err 將字符串設置爲 path 指定文件的內容,使用字符編碼 enc,在err 上返回錯誤
-(id)initWithContentsOfURL:url encoding:enc error:err 將字符串設置爲 url 所指向的內容,使用字符編碼 enc,在err 上返回錯誤
-(UNSigned int)length 返回字符串中字符數目
-(unichar)characterAtindex:i 返回索引i 所在UniCode 字符
-(NSString*)substringFromIndex:i 返回從索引 i 開始到結尾的子字符串
-(NSString*)substringWithRange:range 根據指定範圍返回子字符串
-(NSString*)substringToIndex:i 返回從字符串開始到 索引 i 的子字符串
-(NSComparator*)caseInsensitiveCompare:nsstring 比較兩個字符串大小,忽略大小寫
-(NSComparator*)compare:nsstring 比較兩個字符串大小
-(BOOL)hasPrefix:nsstring 測試字符串是否以 nsstring 開始
-(BOOL)hasSuffix:nsstring 測試字符串是否以 nsstring 結尾
-(BOOL)isEqualToString:nsstring 測試兩個字符串是否相等
-(NSString*)capitalizedString 返回字符串,串中的每個單詞的首字母大寫,其餘字母小寫
-(NSString*)lowercaseString 返回轉換爲小寫的字符串
-(NSString*)uppercaseString 返回轉換爲大寫的字符串
-(const char*)UTF8String 返回UTF8編碼格式的字符串
-(double)doubleValue 返回轉換爲double 類型的字符串
-(float)floatValue 返回轉換爲 float 類型的字符串
-(NSInteger)integerValue 返回轉換爲 NSInteger 類型的新字符串
-(int)intvalue 返回轉換爲 int 的字符串NSMutableString 可修改字符串常用方法
+(id)stringWithCapacity:size 創建一個字符串,容量爲size大小
-(id)initWithCapacity:size 初始化一個字符串,容量爲size
-(void)setString:nsstring 將字符串設置爲 nsstring
-(void)appendString:nsstring 在字符串末尾追加字符串 nsstring
-(void)deleteCharatersInRange:range 刪除指定range 中的字符
-(void)insertString:nsstring atIndex:i 以索引 i 爲起始位置插入 nsstring
-(void)replaceCharatersInRange;range withString:nsstring 使用 nsstring 替換 range 指定的字符
-(void)replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range 根據選項 opts ,使用指定 range 中的nsstring2 替換所有的 nsstring今日部分練習:
//
// main.m
// OC15-8.4
//
// Created by 嚴誠 on 15/8/4.
// Copyright (c) 2015年 嚴誠. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// // insert code here...
// NSLog(@"Hello, World!");
// int a = 10;
// //NSString *str1=[[NSString alloc]initWithFormat:@"aaa"];
// NSString *str1 = [[NSString alloc]initWithFormat:@"%d",a];
// NSString *str2 = [NSString stringWithFormat:@"aaa"];
// NSString *str3 = [NSString stringWithFormat:@"%@%@",str1,str2];
// NSLog(@"%@",str3);
// NSLog(@"%p",str2);
// BOOL re1 = [str3 isEqualToString:str2];
// NSLog(@"bool%d",re1);
// NSComparisonResult nr = [str1 caseInsensitiveCompare:str2];
// if (nr == -1) {
// NSLog(@"-1");
// }
// NSLog(@"nr = %ld",nr);
// NSString *str4=[str2 uppercaseString];
// NSLog(@"%@",str4);
// NSString *str5=[str4 lowercaseString];
// NSLog(@"%@",str5);
// NSString *str6=[str5 capitalizedString];
// NSLog(@"%@",str6);
// NSString *str7 = [NSString stringWithFormat:@"hello world!"];
// NSLog(@"%@",[str7 uppercaseString]);
// NSLog(@"%@",[str7 lowercaseString]);
// NSLog(@"%@",[str7 capitalizedString]);
// NSRange range1 = NSMakeRange(0, 2);
// //NSRange range1={0,3};
// NSLog(@"%@",[str7 substringWithRange:range1]);
/**
* 1.編寫一個程序,使用NSString和NSMutableString
實例化一些NSString類的對象,然後比較其是否相等,大小。
實例化一個NSMutableString的對象,然後將之前的NSString對象加入其中,然後再刪除幾個,要求使用NSRange結構體
*/
NSString *str8=[NSString stringWithFormat:@"abcde"];
NSString *str9=[NSString stringWithFormat:@"abcde"];
NSString *str10=[NSString stringWithFormat:@"AbCde"];
NSString *str11=[NSString stringWithFormat:@"abcdefg"];
NSComparisonResult result;
result=[str8 compare:str9];
NSLog(@"%ld",result);
result=[str10 compare:str8];
NSLog(@"%ld",result);
result=[str8 caseInsensitiveCompare:str11];
NSLog(@"%ld",result);
NSMutableString *mstr1=[NSMutableString stringWithCapacity:0];//必須定義大小
[mstr1 appendString:@"hello"];
NSLog(@"%@",mstr1);
[mstr1 appendString:str10];
NSLog(@"%@",mstr1);
NSRange range2={2,1};
[mstr1 deleteCharactersInRange:range2];
NSLog(@"%@",mstr1);
[mstr1 insertString:@"aaaa" atIndex:5];
NSLog(@"%@",mstr1);
[mstr1 replaceCharactersInRange:range2 withString:@"AAA"];
NSLog(@"%@",mstr1);
/**
* 2. 編寫程序,將”Hello World and Sunshine.”字符串中的”World”替換爲”NanLiGong”,並將替換前和替換後的字符串輸出
本題要求做兩次,使用NSString兩種替換方法完成
*/
NSString *str12=[NSString stringWithFormat:@"Hello World and Sunshine."];
NSString *str13=[NSString stringWithFormat:@"NanLiGong"];
NSLog(@"%@",str12);
NSRange world=[str12 rangeOfString:@"World"];
NSString *replace=[str12 stringByReplacingCharactersInRange:world withString:str13];
NSLog(@"%@",replace);
NSString *replace2=[str12 stringByReplacingOccurrencesOfString:@"World" withString:str13];
NSLog(@"%@",replace2);
/**
* 3. 現有如下定義的字符串: NSMutableString * str=@“iphoneAndroid”, 能不能對該字符串進行修改,如果能,請輸出刪除Android後的新字符串。
*/
//NSMutableString * str=@"iphoneAndroid";
//不能修改,但是用下面的方法可以轉換
NSString * str=@"iphoneAndroid";
NSMutableString *str1=[NSMutableString stringWithString:@"iphoneAndroid"];
NSRange android=[str rangeOfString:@"Android"];
[str1 deleteCharactersInRange:android];
NSLog(@"%@",str1);
/**
* 求字符串“158”和“39”按十進制數值做差後的結果以字符串形式輸出
*/
NSString *n1=@"158";
NSString *n2=@"39";
int n11=[n1 intValue];
int n22=[n2 intValue];
int result1=n11-n22;
NSString *res=[NSString stringWithFormat:@"%d",result1];
NSLog(@"%@",res);
/**
* 4.比較系統的版本號大小 例如 @”5.0.1” , @”5.1.3”
*/
NSString *v1=[NSString stringWithFormat:@"5.0.1"];
NSString *v2=[NSString stringWithFormat:@"5.1.3"];
NSString *v3=[NSString stringWithFormat:@"5.1.0"];
NSComparisonResult rs=[v1 compare:v2 options:NSNumericSearch];
//NSNumericSearch = 64, /* Added in 10.2; Numbers within strings are compared using numeric value, that is, Foo2.txt < Foo7.txt < Foo25.txt; only applies to compare methods, not find */
NSLog(@"%ld",rs);
rs=[v2 compare:v3 options:NSNumericSearch];
NSLog(@"%ld",rs);
/**
* 5. 判斷郵箱格式是否正確 要求:儘量做的細緻。複合實際需求。
*/
//NSString *mail=@"[email protected]";
while (1) {
char mail1[50];
NSLog(@"輸入一個郵箱地址");
scanf("%s",mail1);
NSString *mail=[NSString stringWithUTF8String:mail1];
NSRange range=[mail rangeOfString:@"@"];
//NSLog(@"%@",NSStringFromRange(range));
NSRange range1=[mail rangeOfString:@"." options:NSBackwardsSearch];
//NSLog(@"%@",NSStringFromRange(range1));
NSRange range3=[mail rangeOfString:@"@"];
if (range.location<1||range.location>range1.location||range1.location>=([mail length]-1)||(range1.location-range.location)<1||([mail length]-range1.location)<1||range.location!=range3.location) {
NSLog(@"輸入的郵箱不正確");
}
}
}
return 0;
}
-
-
-
-15.8.4
-15.8.11