알고리즘/문자열 처리
[swift - algorithm] 문자열 치환, replacingOccurrences(of:with:), replacingCharacters(in:with:)
jake-kim
2021. 3. 11. 02:42
특정 문자열에 해당하는 곳의 문자열 치환
- replacingOccurrences(of:with:) 이용: self에서 of 문자열 부분을 with으로 변경
let sampleStr = "12345"
let newStr = sampleStr.replacingOccurrences(of: "2", with: "vv")
print(newStr) // 1vv345
Range값을 이용한 문자열 치환
- replacingCharacters(in:with:) 이용: self에서 in 범위 부분을 with으로 변경
- NSRange 개념: location, length 정보 가지고 있는 구조체

- Range 개념: lowerBound, upperBound정보를 가지고 있는 구조체

- range값을 가지고 문자열을 치환하는 예제) - textField(:shouldChangeCharactersIn:replcementString:)
* textField 델리게이트에서 현재 input창에 입력된 값을 구하고 싶은 경우
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = textField.text,
let textRange = Range(range, in: text) else {
return false
}
let updatedText = text.replacingCharacters(in: textRange, with: string)
print(updatedText)
}