NSString이 특정 문자로 시작되는지 확인하는 방법
NSString이 특정 문자(* 문자)로 시작되는지 여부를 확인하려면 어떻게 해야 합니다.
*는 셀 타입의 인디케이터이기 때문에 *가 없는 이 NSString의 내용이 필요하지만 *가 존재하는지 확인해야 합니다.
를 사용할 수 있습니다.-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))
}
다음을 사용할 수 있습니다.
NSString *newString;
if ( [[myString characterAtIndex:0] isEqualToString:@"*"] ) {
newString = [myString substringFromIndex: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
return value는 aString이 리시버의 선두 문자와 일치하면 YES, 그렇지 않으면 NO를 반환하는 문자열입니다.aString
비어 있습니다.
보다 일반적인 답변으로 hasPrefix 메서드를 사용해 보십시오.예를 들어, 다음 코드는 문자열이 10으로 시작되는지 확인합니다. 10은 특정 문제를 식별하는 데 사용되는 오류 코드입니다.
NSString* myString = @"10:Username taken";
if([myString hasPrefix:@"10"]) {
//display more elegant error message
}
를 사용합니다.첫 번째 문자가 아스타리스크인 경우 를 사용하여 문자열 sans '*'를 가져옵니다.
NSString *stringWithoutAsterisk(NSString *string) {
NSRange asterisk = [string rangeOfString:@"*"];
return asterisk.location == 0 ? [string substringFromIndex:1] : string;
}
또 다른 접근법이 있습니다.
누군가에게 도움이 되길...
if ([[temp substringToIndex:4] isEqualToString:@"http"]) {
//starts with http
}
이게 도움이 될까?:)
http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html #//apple_ref/occ/instm/NSString/characterAtIndex:
인덱스 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);
이 1행은 3개의 액션을 1개로 실행하는 것이 매우 간단합니다.
- 문자열에서 원하지 않는 문자를 확인합니다.
- 원하는 것으로 대체할 수 있습니다.
- 주변 코드에는 영향을 주지 않습니다.
NSString* expectedString = nil;
if([givenString hasPrefix:@"*"])
{
expectedString = [givenString substringFromIndex:1];
}
언급URL : https://stackoverflow.com/questions/2503436/how-to-check-if-nsstring-begins-with-a-certain-character
'programing' 카테고리의 다른 글
C#을 사용하여 마지막으로 채워진 Excel 행을 프로그래밍 방식으로 가져오는 중 (0) | 2023.04.19 |
---|---|
C#의 해시테이블보다 딕셔너리가 우선되는 이유는 무엇입니까? (0) | 2023.04.19 |
Swift: 어레이를 참조로 전달하시겠습니까? (0) | 2023.04.19 |
Mac OS 10.10+에서 GNU sed를 사용하는 방법, 'brew install --default-names'는 더 이상 지원되지 않습니다. (0) | 2023.04.19 |
배치 파일에서 매개 변수가 비어 있는지 테스트하는 적절한 방법은 무엇입니까? (0) | 2023.04.19 |