字符串中大小写的转换

一、大小写转换
1、- (NSString *)uppercaseString; 所有字符转化为大写
2、- (NSString *)lowercaseString; 所有字符转化为小写
3、- (NSString *)capitalizedString; 所有单词首字母转化大写

NSLog(@”%@”, [demoTwo uppercaseString]);
NSLog(@”%@”, [demoTwo lowercaseString]);
NSLog(@”%@”, [demoTwo capitalizedString]);

2013-02-28 09:17:43.759 NSStringDemo[424:303] GOOD MORNING
2013-02-28 09:17:43.759 NSStringDemo[424:303] good morning
2013-02-28 09:17:43.760 NSStringDemo[424:303] Good Morning

二、大小写转换(本地化)
- (NSString )uppercaseStringWithLocale:(NSLocale )locale NS_AVAILABLE(10_8, 6_0); 所有字符转化为大写(本地化)
- (NSString )lowercaseStringWithLocale:(NSLocale )locale NS_AVAILABLE(10_8, 6_0);所有字符转化为小写(本地化)
- (NSString )capitalizedStringWithLocale:(NSLocale )locale NS_AVAILABLE(10_8, 6_0); 所有单词首字母转化大写(本地化)

NSLog(@”%@”, [demoTwo uppercaseStringWithLocale:locale]);
NSLog(@”%@”, [demoTwo lowercaseStringWithLocale:locale]);
NSLog(@”%@”, [demoTwo capitalizedStringWithLocale:locale]);

2013-02-28 09:46:19.042 demoTwo[732:11303] GOOD MORNING
2013-02-28 09:46:19.044 demoTwo[732:11303] good morning
2013-02-28 09:46:19.045 demoTwo[732:11303] Good Morning

三、- (NSString )stringByTrimmingCharactersInSet:(NSCharacterSet )set; 字符串替换

NSString *demoFive = [[NSString alloc] initWithString:@”good @3!3%”];
NSCharacterSet set = [NSCharacterSet characterSetWithCharactersInString:@”@/:;()¥「」"、[]{}#%-+=_\|~<>$

四、- (void)getLineStart:(NSUInteger )startPtr end:(NSUInteger )lineEndPtr contentsEnd:(NSUInteger *)contentsEndPtr forRange:(NSRange)range; 返回指定开始索引到结束索引,指定段的字符串

NSUInteger lineStart,lineEnd,contentsEnd;
[demoFive getLineStart:&lineStart end:&lineEnd contentsEnd:&contentsEnd forRange:NSMakeRange(4, 3)];
NSLog(@”%@”, [NSString stringWithFormat:@”lineStart=%lu, lineEnd=%lu, contentsEnd=%lu”, lineStart, lineEnd, contentsEnd]);

2013-02-28 11:57:19.251 NSStringDemo[1843:303] lineStart=0, lineEnd=11, contentsEnd=11

五、- (NSRange)lineRangeForRange:(NSRange)range;返回字符串指定段的位置和长度 ?
NSLog(@”%ld”, [demoTwo lineRangeForRange:NSMakeRange(7, 2)].length);

2013-02-28 11:32:44.667 NSStringDemo[1664:303] 12

六、- (void)getParagraphStart:(NSUInteger )startPtr end:(NSUInteger )parEndPtr contentsEnd:(NSUInteger *)contentsEndPtr forRange:(NSRange)range; 指定段分段取字符串

NSUInteger paraStart, paraEnd, contEnd;
NSString *aString1 = @”Apple\u2028Orange\u2029Banana\r\nLemon”;
[aString1 getParagraphStart:&paraStart end:&paraEnd contentsEnd:&contEnd forRange:NSMakeRange(14, 1)] ;
NSLog(@”%@”, [NSString stringWithFormat:@”ParagraphStart=%d, ParagraphEnd=%d, ContentsEnd=%d”, paraStart, paraEnd, contEnd]);

2013-02-28 11:40:46.091 NSStringDemo[1720:303] ParagraphStart=13, ParagraphEnd=21, ContentsEnd=19

七、- (NSRange)paragraphRangeForRange:(NSRange)range; 指定段分段的位置和长度
NSRange range = [aString1 paragraphRangeForRange:NSMakeRange(3,5)];
NSLog(@”%lu-%lu”,range.location, range.length);

八、- (NSString *)description; 返回字符串
NSLog(@”%@”, [demoTwo description]);

2013-02-28 16:57:32.312 NSStringDemo[794:303] good morning

九、- (NSUInteger)hash; 返回字符串哈希地址
NSLog(@”%lu”, [demoTwo hash]);

2013-02-28 17:01:32.032 NSStringDemo[820:303] 16759986921038887375

十、编码处理
- (NSStringEncoding)fastestEncoding; // 字符串最快编码值
- (NSStringEncoding)smallestEncoding; // 字符串最小编码值
- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)lossy; // 返回指定编码的NSData对象,可以选择无损转化
- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; // 返回指定编码的NSData对象
- (BOOL)canBeConvertedToEncoding:(NSStringEncoding)encoding; //判断是否可以无损转化编码

NSLog(@”%lu”, [demoTwo fastestEncoding]);
NSLog(@”%lu”, [demo smallestEncoding]);

NSLog(@”%@”, [demoTwo dataUsingEncoding:NSShiftJISStringEncoding allowLossyConversion:YES]);
NSLog(@”%@”, [demoTwo dataUsingEncoding:NSWindowsCP1251StringEncoding]);
NSLog(@”%d”, [demoTwo canBeConvertedToEncoding:NSMacOSRomanStringEncoding]);

### 实现字符串大小写转换的方法 #### 使用内置方法 `swapcase` Python 提供了多种方式来处理字符串大小写转换。其中一种简便的方式是利用内建的 `swapcase()` 方法,该方法会返回一个新的字符串,在新字符串里所有的大写字母被转成小写而原本的小写字母则变成大写[^2]。 ```python con = 'that century, strolledmassifs、riversandBuddisticmonasteries, notforTaoism, butmeetingwithyouonpassage.' print('字符串大小写互换:\n', con.swapcase()) ``` 此段代码展示了如何通过调用 `swapcase` 函数快速完成整个字符串内的字符大小写的反转操作。 #### 手动遍历并修改每个字符的状态 另一种更灵活的做法是从头构建新的字符串,逐一遍历原字符串中的每一个字符,并依据其当前状态决定是否改变它的大小写形式[^3]: ```python s = "LiBai is a Boy" b = [] for char in s: if char.islower(): b.append(char.upper()) elif char.isupper(): b.append(char.lower()) else: b.append(char) result_string = "".join(b) print(result_string) ``` 这段程序同样实现了大小写翻转的功能,不过它允许开发者在过程中加入额外逻辑或条件判断。 #### 利用 `lower()` 和 `upper()` 进行特定方向上的转换 除了上述两种通用手段外,当只需要单向地调整大小写时——比如全部变为小写或是全变更为大写,则可以直接应用 `lower()` 或者 `upper()` 方法[^1]。 ```python str1 = "LiBai Is A BOY" str2 = "WWW.JRCG.COM" # 转换小写 print("原始:", str1) print("转换后:", str1.lower()) # 转换大写 print("\n原始:", str2) print("转换后:", str2.upper()) ``` 这些例子说明了怎样分别采用不同的策略去满足实际需求下的大小写变换任务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值