1

我是 Swift 的新手,我有很多 RND,但我无法获得成功。我有用范围替换字符串我正在使用这个代码但是它的返回错误我正在使用 swift 2.0

let aString: String = txt_description.text
        let newString = aString.stringByReplacingOccurrencesOfString(varattherate, withString:"@\(getText) ", options: NSStringCompareOptions.LiteralSearch, range: NSMakeRange(0, 10))

严重的问题是,我已经从字符串中替换了文本,我的字符串是“我的名字是@test,但我想更改@te”并将 “@te”替换为“@test”,但我在最后一个“@te”上有更改字符串,我正在尝试创建“自动完成文本视图”

但我正在使用这段代码

 let aString: String = "my name is @test but i want change @te"
 let newString = aString.stringByReplacingOccurrencesOfString(varattherate, withString:"@\(getText) ", options: NSStringCompareOptions.LiteralSearch, range:nil)

并且输出是“我的名字是@testst,但我想改变@test”,但我需要输出“我的名字是@test,但我想改变@test”不先改变@te,只有最后一个是动态改变

第二个问题是 如何知道这个函数退格

 func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool 
{


}

我正在尝试此代码,但无法正常工作 text: String) -> Bool {

    if(text == "\b") {
        println("This is backspace ")
        return false
    }
}
4

1 回答 1

0

检查此示例以了解您的第二个问题

// this is ASCII BS (backspace)
let cBS: Int8 = 0x08
let asciitxt: [Int8] = [65,66,67,cBS,68,0]
let asString = String.fromCString(asciitxt)
print(asciitxt)
print(asString)
print(asString!)

/*
[65, 66, 67, 8, 68, 0]
Optional("ABC\u{08}D")
ABCD
*/

你的第一个问题的答案只是关于你的解析代码中的逻辑......它根本不是很具体

于 2015-11-20T15:17:21.430 回答