我正在尝试删除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
检查,如果最后一个字符是集合预期的字符,并使用dropLast()
上characters
的String
构建一个新的字符串没有最后一个字符:
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) } }