반응형
문자열에서 마지막 두 문자 제거 (Swift 3.0)
Swift 3.0에서 문자열의 마지막 두 문자를 제거하는 빠른 방법이 있습니까? 여기에 명확하게 언급 된 것처럼 마지막 문자를 제거하는 간단한 방법이 있습니다 . 마지막 두 문자를 제거하는 방법을 알고 있습니까? 감사!
업데이트 : Xcode 9 • Swift 4 이상
String은 이제 RangeReplaceableCollection을 준수하므로 컬렉션 메서드 dropLast를 String에서 바로 사용할 수 있으므로 더 이상 필요하지 않은 확장입니다. 유일한 차이점은 하위 문자열을 반환한다는 것입니다. 문자열이 필요한 경우 여기에서 새 문자열을 초기화해야합니다.
let string = "0123456789"
let substring1 = string.dropLast(2) // "01234567"
let substring2 = substring1.dropLast() // "0123456"
let result = String(substring2.dropLast()) // "012345"
스위프트 3.x
문자에 dropLast (n :) 메소드를 사용하여 원하는 수의 문자를 제거 할 수 있습니다.
let str = "0123456789"
let result = String(str.characters.dropLast(2)) // "01234567"
확장으로 :
extension String {
func dropLast(_ n: Int = 1) -> String {
return String(characters.dropLast(n))
}
var dropLast: String {
return dropLast()
}
}
let str = "0123456789"
let result = str.dropLast(2) // "01234567"
let result2 = result.dropLast // "0123456"
var name: String = "Dolphin"
let endIndex = name.index(name.endIndex, offsetBy: -2)
let truncated = name.substring(to: endIndex)
print(name) // "Dolphin"
print(truncated) // "Dolph"
신속한 4 :
let str = "Hello, playground"
let newSTR1 = str.dropLast(3)
print(newSTR1)
output: "Hello, playgro"
//---------------//
let str = "Hello, playground"
let newSTR2 = str.dropFirst(2)
print(newSTR2)
output: "llo, playground"
다음 removeSubrange(Range<String.Index>)
과 같이 사용하십시오 .
var str = "Hello, playground"
str.removeSubrange(Range(uncheckedBounds: (lower: str.index(str.endIndex, offsetBy: -2), upper: str.endIndex)))
문자열이 2 자 미만이면 충돌이 발생합니다. 그게 당신의 요구 사항입니까?
removeLast () 를 사용하는 것이 더 좋습니다.
var myString = "Hello world"
myString.removeLast(2)
output : "Hello wor"
참조 URL : https://stackoverflow.com/questions/40028035/remove-last-two-characters-in-a-string-swift-3-0
반응형
'programing' 카테고리의 다른 글
C / C ++ : 정수가 아닌 스위치 (0) | 2021.01.17 |
---|---|
PHP preg 교체는 숫자 만 허용 (0) | 2021.01.16 |
CAGradientLayer, 크기가 제대로 조정되지 않고 회전시 찢어짐 (0) | 2021.01.16 |
WPF 데이터 그리드의 날짜 형식 (0) | 2021.01.16 |
EditText 요청 포커스 (0) | 2021.01.16 |