내가 얻을 다음과 같은 형식으로 결과 :점검 및 편집 인 NSMutableString
NSString *placeResult = @"111 Main Street, Cupertino, CA"
때로는 결과가 장소의 이름이 포함
NSString *placeResult = @"Starbucks, 222 Main Street, Cupertino, CA"
내가 확인해야을 경우 전에 먼저 텍스트 쉼표는 숫자 또는 영문자입니다. 문자가 알파벳 인 경우 NSMutableString에서 먼저 쉼표와 모든 알파벳을 제거한 다음 변수에 영문자 만 저장해야합니다. 그래서 두 번째 예제의 텍스트가 다음과 같이 표시됩니다
@"222 Main Street, Cupertino, CA"
가 어떻게 NSRegularExpression, NSTextCheckingResult 및 인 NSMutableString와 함께이 작업을 수행 할 수 ?
나는 생각 해요 :
NSString *str= (NSString *)location.address;
NSMutableString *muteStr;
muteStr = [NSMutableString stringWithString:str];
NSArray *matches = [detector matchesInString:muteStr options:0 range:NSMakeRange(0, muteStr.length)];
for (NSTextCheckingResult *match in matches)
{
if (match.resultType == NSTextCheckingTypeAddress)
{
NSDictionary *data = [match addressComponents];
NSString *name = data[NSTextCheckingNameKey];
if (!name && match.range.location > 0)
{
NSRegularExpression *scan = [NSRegularExpression regularExpressionWithPattern:@"(?=)" options:0 error:NULL];
//******I'm not sure if I have regularExpressionWithPattern correct?
NSTextCheckingResult *result = [scan firstMatchInString:@"," options:0 range:NSMakeRange(0, name.length)];
무엇을 여기에서 할 심지어는 올바른 접근 방식인지 확실하지?
다시 말하지만 첫 번째 쉼표 앞의 텍스트가 숫자인지 영문인지 확인해야합니다. 텍스트/문자가 영문자이면 NSMutableString에서 첫 번째 쉼표와 모든 알파벳을 제거한 다음 변수에 영문자 만 저장해야합니다. 문자가 숫자 인 경우 NSMutableString을 그대로 두어야합니다.
내가 다른 접근 방식 선택할 것
는 "알파벳"이란 무엇입니까)? –
영문자 A-Z. – user1107173