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
는 찾고자하는 문자열입니다. aString이 수신자의 시작 문자와 일치하면 리턴 값은 YES이고, 그렇지 않으면 NO입니다. aString
비어 있으면 NO를 반환합니다 .
사용하십시오 characterAtIndex:
. 첫 번째 문자가 별표이면 substringFromIndex:
문자열 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
}
보다 일반적인 답변으로 hasPrefix 메소드를 사용해보십시오. 예를 들어 아래 코드는 문자열이 10으로 시작하는지 확인하여 특정 문제를 식별하는 데 사용되는 오류 코드입니다.
NSString* myString = @"10:Username taken";
if([myString hasPrefix:@"10"]) {
//display more elegant error message
}
도움이 될까요? :)
Just search for the character at index 0 and compare it against the value you're looking for!
This nice little bit of code I found by chance, and I have yet to see it suggested on Stack. It only works if the characters you want to remove or alter exist, which is convenient in many scenarios. If the character/s does not exist, it won't alter your NSString:
NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];
This is how I use it:
//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);
This one line is super easy to perform three actions in one:
- Checks your string for the character/s you do not want
- Can replaces them with whatever you like
- Does not affect surrounding code
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
'IT story' 카테고리의 다른 글
10 진수 / 더블이 정수인지 확인하는 방법? (0) | 2020.05.01 |
---|---|
Sublime Text를 Git의 기본 편집기로 만들려면 어떻게해야합니까? (0) | 2020.05.01 |
Ubuntu에 OpenSSL 라이브러리를 어떻게 설치합니까? (0) | 2020.05.01 |
제네릭 형식의 인스턴스를 만드시겠습니까? (0) | 2020.05.01 |
applicationWillEnterForeground 및 applicationDidBecomeActive, applicationWillResignActive 및 applicationDidEnterBackground (0) | 2020.05.01 |