다음 @"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];
때로는 날짜 문자열의 형식이 잘못되어 있고 하루 (또는 그 문제에 대한 한 달)가 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]