Ich habe eine durch Leerzeichen getrennte Zeichenfolge wie @"abc xyz http://www.example.com aaa bbb ccc"
.
Wie kann ich die Teilzeichenkette extrahieren @"http://www.example.com"
von ihr?
Ich habe eine durch Leerzeichen getrennte Zeichenfolge wie @"abc xyz http://www.example.com aaa bbb ccc"
.
Wie kann ich die Teilzeichenkette extrahieren @"http://www.example.com"
von ihr?
Ich weiß, dies ist eine sehr späte Antwort, aber Sie können die Teilzeichenkette "http://www.abc.com" mit dem folgenden Code erhalten:
[@"abc xyz http://www.abc.com aaa bbb ccc" substringWithRange:NSMakeRange(8, 18)]
Natürlich können Sie auch eine NSString
dafür.
Wenn alle Teilzeichenfolgen durch Leerzeichen getrennt sind, können Sie versuchen, ein Array von Teilzeichenfolgen zu erhalten, indem Sie [myString componentsSeparatedByString:@" "]
. Dann können Sie das Ergebnis der [NSUrl URLWithString:yourSubstring]
. Sie gibt null zurück, wenn die Teilzeichenkette keine korrekte Verknüpfung ist.
Vielleicht haben Sie mich missverstanden oder ich habe Sie missverstanden, aber abc.com ist nur ein Beispiel. Was ich meine, ist, wie man eine Teilzeichenkette haben Format eines url-Links aus dem NSString zu erhalten. Ich warte auf Ihre Antwort
Hmm... NSArray* subStrings = [yourString componentsSeparatedByString:@" "]; for(NSString* subString in subStrings){ if([NSUrl URLWithString: subString]){ NSLog(@"Dieser Teilstring ist eine URL: %@", subString); } }
Hier ist meine Version des Skripts... Hoffentlich ist es sauber und einfach zu implementieren. Es macht ein substr der Zeichen auf der Grundlage der Grenzen... Meines wird für eine Textarea verwendet, kann aber natürlich an Textfelder angepasst werden :)
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
int maxLength = 100;
int currentLength = [self.messageField.text length];
if( currentLength > maxLength )
{
NSString *newMessageText = [self.messageField.text substringWithRange:NSMakeRange(0, maxLength)];
[self.messageField setText:newMessageText];
return NO;
}
else
{
return YES;
}
}
Damit kann auch versucht werden, dieses Problem zu lösen:
NSArray *data = [@"abc xyz http://www.abc.com aaa bbb ccc" componentsSeparatedByString:@" "];
for(NSString* str in data)
{
if([NSURLConnection canHandleRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]])
NSLog(@"%@",[[NSString alloc ] initWithFormat:@"Found a URL: %@",str]);
}
Hoffentlich hilft das!
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.