[英]removing white spaces at beginning and end of string
我在刪除字符串開頭和結尾的空格時遇到了問題。 例如,我有一個字符串:
\\r\\n\\t- Someone will come here?\\n- I don't know for sure...\\r\\n\\r\\n
而我只需要在年底將空格和開頭(字符串應該是什么樣子: - Someone will come here?\\n- I don't know for sure...
也有可能是一個很大的字符串末尾的變種: "\\r\\n\\r\\n"、"\\r\\n"、"\\n\\r\\n" 等等...
謝謝。
您的字符串不僅包含空格,而且還包含換行符。
將stringByTrimmingCharactersInSet
與whitespaceAndNewlineCharacterSet
stringByTrimmingCharactersInSet
使用。
let string = "\r\n\t- Someone will come here?\n- I don't know for sure...\r\n\r\n"
let trimmedString = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
在Swift 3中,它更易於清理 :
let trimmedString = string.trimmingCharacters(in: .whitespacesAndNewlines)
//here i have used regular expression and replaced white spaces at the start and end
let stringPassing : NSString? = "hdfjkhsdj hfjksdhf sdf "
do {
print("old->\(stringPassing)")
let pattern : String = "(^\\s+)|(\\s+)$"
let regex = try NSRegularExpression(pattern: pattern , options: [])
let newMatched = regex.matchesInString(stringPassing! as String, options: [], range: NSMakeRange(0,stringPassing!.length))
if(newMatched.count > 0){
let modifiedString = regex.stringByReplacingMatchesInString(stringPassing! as String, options: [] , range: NSMakeRange(0,stringPassing!.length), withTemplate: "")
print("new->\(modifiedString)")
}
} catch let error as NSError {
print(error.localizedDescription)
}
Swift 4+中的字符串修剪首尾空格和換行符
" 2 space ".trimmingCharacters(in: .whitespacesAndNewlines)
結果:“ 2個空格”
您可以使用此擴展名,而只需調用“ yourString” .trim()
extension String
{
func trim() -> String
{
return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
}
}
如果您想從字符串的開頭刪除空格,請嘗試使用此代碼。
func removeSpace()->String{
let txt = myString
var count:Int! = 0
for i in txt{
if i == " "{
count += 1
}else{
if count != 0{
return String(txt.dropFirst(count))
}else{
return txt
}
}
}
return ""
}
`
從字符串的開頭刪除所有空格
func removeWhiteSpaces(str:String) -> String{
var newStr = str
for i in 0..<str.count{
let index = str.index(str.startIndex, offsetBy: i)
print(str[index])
if str[index] != " "{
return newStr
}
else{
newStr.remove(at: newStr.startIndex)
}
}
return newStr
}
在此代碼中限制Textfield開頭的空白
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if (textField.text?.count)! == 0 && string == " " {
return false
}
else{
return true
}
}
在Swift 4中 ,可在任何String類型變量上使用它。
extension String {
func trimWhiteSpaces() -> String {
let whiteSpaceSet = NSCharacterSet.whitespaces
return self.trimmingCharacters(in: whiteSpaceSet)
}
}
並這樣稱呼它
yourString.trimWhiteSpaces()
您可以先從開頭刪除,然后從結尾刪除,如下所示:
while true {
if sentence.characters.first == "\r\n" || sentence.characters.first == "\n" {
sentence.removeAtIndex(sentence.startIndex)
} else {
break
}
}
while true {
if sentence.characters.last == "\r\n" || sentence.characters.last == "\n" {
sentence.removeAtIndex(sentence.endIndex.predecessor())
} else {
break
}
}
讓string =“考試ple”
let trimmed = string.replacingOccurrences(of:“(^ \\ s +)|(\\ s +)$”,其中:“”,選項:.regularExpression)
打印(“>” + trimmed3 +“ <”)
//打印> exam ple <
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.