我需要从字符串的末尾删除空格。我该怎么做呢? 示例:如果字符串是“Hello”,它必须变成“Hello”
当前回答
在Swift中删除字符串开头和结尾的空格:
斯威夫特3
string.trimmingCharacters(in: .whitespacesAndNewlines)
Swift以前的版本
string.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()))
其他回答
要修剪所有尾随的空格字符(我猜这实际上是你的意图),下面是一种相当干净简洁的方法。
斯威夫特5:
let trimmedString = string.replacingOccurrences(of: "\\s+$", with: "", options: .regularExpression)
objective - c:
NSString *trimmedString = [string stringByReplacingOccurrencesOfString:@"\\s+$" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, string.length)];
一行,加上一段正则表达式。
NSString *trimmedString = [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//for remove whitespace and new line character
NSString *trimmedString = [string stringByTrimmingCharactersInSet:
[NSCharacterSet punctuationCharacterSet]];
//for remove characters in punctuation category
还有许多其他字符集。根据你的要求自己检查一下。
我想出了这个函数,它的行为基本类似于Alex的答案:
-(NSString*)trimLastSpace:(NSString*)str{
int i = str.length - 1;
for (; i >= 0 && [str characterAtIndex:i] == ' '; i--);
return [str substringToIndex:i + 1];
}
whitespaceCharacterSet除了空格本身还包括制表符,在我的情况下不能出现。所以我想一个简单的比较就足够了。
let string = "测试修剪过的字符串"
对于删除空白和新行使用以下代码:-
let str_trim = yourString。trimmingCharacters (.whitespacesAndNewlines):
对于仅从字符串中删除空格使用以下代码:-
let str_trim = yourString。trimmingCharacters (.whitespaces):
在斯威夫特
从字符串的两侧修剪空格和换行:
var url: String = "\n http://example.com/xyz.mp4 "
var trimmedUrl: String = url.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
推荐文章
- 字符串strip() JavaScript?
- 如何将制表符转换为空格,反之亦然,在现有的文件
- 将JavaScript字符串中的多个空格替换为单个空格
- 在逗号上爆炸字符串,并修剪每个值的潜在空格
- 如何检查NSString是否以某个字符开始
- 如何把空格字符放入XML字符串名?
- 没有空格的合并会产生冲突
- 如何显示默认隐藏字符(零宽度空间,即。& # 8203)
- 如何在vim中自动删除尾随空格
- 将NSString转换为NSDate(然后再转换回来)
- 让Git在提交前自动移除尾随空白
- 如何创建一个字符串的格式?
- 如何删除Python中的前导空白?
- 如何从字符串的开始或结束删除所有空白?
- 不区分大小写的比较