반응형
NSString을 분할하여 하나의 특정 조각에 액세스합니다.
다음과 같은 문자열이 있습니다.@"10/04/2011"
그리고 "10"만 다른 문자열에 저장하고 싶습니다.내가 어떻게 그럴 수 있을까?
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
2018년 7월 3일 업데이트:
질문이 Swift 태그를 획득했으므로 Swift 방식을 추가해야 합니다.이는 거의 단순합니다.
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
비록 그것이 당신에게 배열을 제공한다는 것에 주목합니다.Substring
이러한 문자열을 일반 문자열로 다시 변환해야 하는 경우map
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
또는
let firstBit = String(substrings[0])
다음 두 가지 중 하나:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
그러나 경우에 따라 날짜 문자열의 형식이 제대로 지정되지 않고 1일(또는 해당 날짜의 경우 한 달)이 08이 아닌 8로 표시되므로 첫 번째가 두 솔루션 중 최악일 수 있습니다.
반환되는 항목의 길이를 실제로 확인할 수 있도록 후자를 별도의 배열에 넣어야 합니다. 따라서 어떤 소스에서든 손상되거나 유효하지 않은 날짜 문자열의 경우 예외가 발생하지 않습니다.
그것은 잘 작동합니다.
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
목표-c:
NSString *day = [@"10/04/2011" componentsSeparatedByString:@"/"][0];
스위프트:
var day: String = "10/04/2011".componentsSeparatedByString("/")[0]
사용하다[myString componentsSeparatedByString:@"/"]
위의 JeremyP가 제공한 멋진 솔루션을 아래의 보다 일반적인 재사용 가능한 기능으로 포맷했습니다.
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}
스위프트 3.0 버전
let arr = yourString.components(separatedBy: "/")
let month = arr[0]
언급URL : https://stackoverflow.com/questions/5806852/split-an-nsstring-to-access-one-particular-piece
반응형
'programing' 카테고리의 다른 글
try {return x; } 마지막으로 {x = null; } 문에서 실제로 어떤 일이 발생합니까? (0) | 2023.05.07 |
---|---|
"는 " "의 대체어입니까? (0) | 2023.05.07 |
DockStyle 사용 방법.WPF의 표준 제어 장치를 채우시겠습니까? (0) | 2023.05.02 |
유형이 있는 날짜보다 오래된 데이터 검색ORM (0) | 2023.05.02 |
SQL Azure 테이블 크기 (0) | 2023.05.02 |