답변:
다음 -hasPrefix:
방법을 사용할 수 있습니다 NSString
.
목표 -C :
NSString* output = nil;
if([string hasPrefix:@"*"]) {
output = [string substringFromIndex:1];
}
빠른:
var output:String?
if string.hasPrefix("*") {
output = string.substringFromIndex(string.startIndex.advancedBy(1))
}
hasPrefix 가 특히 잘 작동합니다. 예를 들어 당신이에 HTTP URL을 찾고 있다면 NSString
, 당신은 사용하는 것이 componentsSeparatedByString
을 생성 NSArray
하고, 반복 처리하여 배열 hasPrefix
http로 시작하는 요소를 찾을 수 있습니다.
NSArray *allStringsArray =
[myStringThatHasHttpUrls componentsSeparatedByString:@" "]
for (id myArrayElement in allStringsArray) {
NSString *theString = [myArrayElement description];
if ([theString hasPrefix:@"http"]) {
NSLog(@"The URL is %@", [myArrayElement description]);
}
}
hasPrefix
주어진 문자열이 수신자의 시작 문자와 일치하는지 여부를 나타내는 부울 값을 리턴합니다.
- (BOOL)hasPrefix:(NSString *)aString,
매개 변수 aString
는 찾고자하는 문자열입니다. aString이 수신자의 시작 문자와 일치하면 리턴 값은 예이고, 그렇지 않으면 아니오입니다. aString
비어 있으면 NO를 반환합니다 .
사용하십시오 characterAtIndex:
. 첫 번째 문자가 별표이면 substringFromIndex:
문자열 sans '*'를 얻는 데 사용 하십시오.
도움이 될까요? :)
인덱스 0에서 문자를 검색하여 원하는 값과 비교하십시오!
우연히 발견 된이 멋진 코드는 아직 스택에서 제안 된 것을 보지 못했습니다. 제거하거나 변경하려는 문자가 존재하는 경우에만 작동하며 많은 시나리오에서 편리합니다. 문자가 없으면 NSString을 변경하지 않습니다.
NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];
이것이 내가 사용하는 방법입니다.
//declare what to look for
NSString * suffixTorRemove = @"</p>";
NSString * prefixToRemove = @"<p>";
NSString * randomCharacter = @"</strong>";
NSString * moreRandom = @"<strong>";
NSString * makeAndSign = @"&amp;";
//I AM INSERTING A VALUE FROM A DATABASE AND HAVE ASSIGNED IT TO returnStr
returnStr = [returnStr stringByReplacingOccurrencesOfString:suffixTorRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:prefixToRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:randomCharacter withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:moreRandom withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:makeAndSign withString:@"&"];
//check the output
NSLog(@"returnStr IS NOW: %@", returnStr);
이 한 줄은 세 가지 작업을 한 번에 수행하기가 매우 쉽습니다.
NSString* expectedString = nil;
if([givenString hasPrefix:@"*"])
{
expectedString = [givenString substringFromIndex:1];
}
hasPrefix:@"word"
저장된 여러 값을 확인하십시오NSArray
. 예를 들면 다음과 같습니다.NSArray *words = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];
?