我需要从字符串的末尾删除空格。我该怎么做呢? 示例:如果字符串是“Hello”,它必须变成“Hello”
当前回答
要修剪所有尾随的空格字符(我猜这实际上是你的意图),下面是一种相当干净简洁的方法。
斯威夫特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)];
一行,加上一段正则表达式。
其他回答
在Swift中删除字符串开头和结尾的空格:
斯威夫特3
string.trimmingCharacters(in: .whitespacesAndNewlines)
Swift以前的版本
string.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()))
NSString* NSStringWithoutSpace(NSString* string)
{
return [string stringByReplacingOccurrencesOfString:@" " withString:@""];
}
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
还有许多其他字符集。根据你的要求自己检查一下。
斯威夫特版本
只修整字符串末尾的空格:
private func removingSpacesAtTheEndOfAString(var str: String) -> String {
var i: Int = countElements(str) - 1, j: Int = i
while(i >= 0 && str[advance(str.startIndex, i)] == " ") {
--i
}
return str.substringWithRange(Range<String.Index>(start: str.startIndex, end: advance(str.endIndex, -(j - i))))
}
修整字符串两侧的空格:
var str: String = " Yolo "
var trimmedStr: String = str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
我想出了这个函数,它的行为基本类似于Alex的答案:
-(NSString*)trimLastSpace:(NSString*)str{
int i = str.length - 1;
for (; i >= 0 && [str characterAtIndex:i] == ' '; i--);
return [str substringToIndex:i + 1];
}
whitespaceCharacterSet除了空格本身还包括制表符,在我的情况下不能出现。所以我想一个简单的比较就足够了。
推荐文章
- 字符串strip() JavaScript?
- 如何将制表符转换为空格,反之亦然,在现有的文件
- 将JavaScript字符串中的多个空格替换为单个空格
- 在逗号上爆炸字符串,并修剪每个值的潜在空格
- 如何检查NSString是否以某个字符开始
- 如何把空格字符放入XML字符串名?
- 没有空格的合并会产生冲突
- 如何显示默认隐藏字符(零宽度空间,即。& # 8203)
- 如何在vim中自动删除尾随空格
- 将NSString转换为NSDate(然后再转换回来)
- 让Git在提交前自动移除尾随空白
- 如何创建一个字符串的格式?
- 如何删除Python中的前导空白?
- 如何从字符串的开始或结束删除所有空白?
- 不区分大小写的比较