删除 swift 字符串的最后一个标点符号
Remove last punctuation of a swift string
我正在尝试删除 swift 2.0
中字符串的最后一个标点符号
var str: String = "This is a string, but i need to remove this comma, \n"
var trimmedstr: String = str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
首先我要删除末尾的空格和换行符,然后我需要检查 trimmedstr
的最后一个字符是否是标点符号。它可以是句号、逗号、破折号等,如果是我需要将其删除。
我怎样才能做到这一点?
有多种方法可以做到这一点。您可以使用 contains
检查最后一个字符是否在预期字符集中,并在 String
的 characters
上使用 dropLast()
来构造一个没有最后一个字符:
let str = "This is a string, but i need to remove this comma, \n"
let trimmedstr = str.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
if let lastchar = trimmedstr.characters.last {
if [",", ".", "-", "?"].contains(lastchar) {
let newstr = String(trimmedstr.characters.dropLast())
print(newstr)
}
}
可以使用 .trimmingCharacters(in:.whitespacesAndNewlines)
和 .trimmingCharacters(in: .punctuationCharacters)
例如去掉字符串两端的空格和标点-
let str = "\n This is a string, but i need to remove this comma and whitespaces, \t\n"
let trimmedStr = str.trimmingCharacters(in:
.whitespacesAndNewlines).trimmingCharacters(in: .punctuationCharacters)
结果 -
This is a string, but i need to remove this comma and whitespaces
我正在尝试删除 swift 2.0
中字符串的最后一个标点符号var str: String = "This is a string, but i need to remove this comma, \n"
var trimmedstr: String = str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
首先我要删除末尾的空格和换行符,然后我需要检查 trimmedstr
的最后一个字符是否是标点符号。它可以是句号、逗号、破折号等,如果是我需要将其删除。
我怎样才能做到这一点?
有多种方法可以做到这一点。您可以使用 contains
检查最后一个字符是否在预期字符集中,并在 String
的 characters
上使用 dropLast()
来构造一个没有最后一个字符:
let str = "This is a string, but i need to remove this comma, \n"
let trimmedstr = str.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
if let lastchar = trimmedstr.characters.last {
if [",", ".", "-", "?"].contains(lastchar) {
let newstr = String(trimmedstr.characters.dropLast())
print(newstr)
}
}
可以使用 .trimmingCharacters(in:.whitespacesAndNewlines)
和 .trimmingCharacters(in: .punctuationCharacters)
例如去掉字符串两端的空格和标点-
let str = "\n This is a string, but i need to remove this comma and whitespaces, \t\n"
let trimmedStr = str.trimmingCharacters(in: .whitespacesAndNewlines).trimmingCharacters(in: .punctuationCharacters)
结果 -
This is a string, but i need to remove this comma and whitespaces