NSString에서 모든 공백 제거
하얀 공간을 없애려고 노력해 왔습니다.NSString하지만 제가 시도한 방법들 중 어느 것도 효과가 없었습니다.
있습니다"this is a test"그리고 나는 받고 싶습니다."thisisatest".
사용한 적이 있습니다.whitespaceCharacterSet흰 공간을 없애야 할 것 같습니다.
NSString *search = [searchbar.text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
공백이 있는 같은 끈을 계속 얻었어요아이디어 있어요?
stringByTrimmingCharactersInSet문자열의 시작과 끝 부분의 문자만 제거하고 중간에 있는 문자는 제거하지 않습니다.
문자열에서 지정된 문자(예: 공백 문자)만 제거해야 하는 경우 다음을 사용합니다.
[yourString stringByReplacingOccurrencesOfString:@" " withString:@""]
문자 집합(즉, 공백 문자뿐만 아니라 공백, 탭, 깨지지 않는 공백 등)을 제거해야 하는 경우 다음을 사용하여 문자열을 분할할 수 있습니다.whitespaceCharacterSet그런 다음 단어를 하나의 문자열로 다시 결합합니다.
NSArray* words = [yourString componentsSeparatedByCharactersInSet :[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSString* nospacestring = [words componentsJoinedByString:@""];
이 마지막 솔루션은 공백뿐만 아니라 모든 공백 문자를 처리할 수 있는 장점이 있지만, 다음과 같이 효율성이 약간 떨어집니다.stringByReplacingOccurrencesOfString:withString:따라서 공백 문자를 제거하기만 하면 되고 일반 공백 문자 이외의 다른 공백 문자를 사용하지 않을 경우 첫 번째 방법을 사용합니다.
나는 정규식을 다음과 같이 사용하는 것을 선호합니다.
NSString *myString = @"this is a test";
NSString *myNewString = [myString stringByReplacingOccurrencesOfString:@"\\s"
withString:@""
options:NSRegularExpressionSearch
range:NSMakeRange(0, [myStringlength])];
//myNewString will be @"thisisatest"
NSString의 카테고리로 설정하여 생활을 더욱 편리하게 할 수 있습니다.
- (NSString *) removeAllWhitespace
{
return [self stringByReplacingOccurrencesOfString:@"\\s" withString:@""
options:NSRegularExpressionSearch
range:NSMakeRange(0, [self length])];
}
다음은 유닛 테스트 방법입니다.
- (void) testRemoveAllWhitespace
{
NSString *testResult = nil;
NSArray *testStringsArray = @[@""
,@" "
,@" basicTest "
,@" another Test \n"
,@"a b c d e f g"
,@"\n\tA\t\t \t \nB \f C \t ,d,\ve F\r\r\r"
,@" landscape, portrait, ,,,up_side-down ;asdf; lkjfasdf0qi4jr0213 ua;;;;af!@@##$$ %^^ & * * ()+ + "
];
NSArray *expectedResultsArray = @[@""
,@""
,@"basicTest"
,@"anotherTest"
,@"abcdefg"
,@"ABC,d,eF"
,@"landscape,portrait,,,,up_side-down;asdf;lkjfasdf0qi4jr0213ua;;;;af!@@##$$%^^&**()++"
];
for (int i=0; i < [testStringsArray count]; i++)
{
testResult = [testStringsArray[i] removeAllWhitespace];
STAssertTrue([testResult isEqualToString:expectedResultsArray[i]], @"Expected: \"%@\" to become: \"%@\", but result was \"%@\"",
testStringsArray[i], expectedResultsArray[i], testResult);
}
}
사용하기 쉬운 작업stringByReplacingOccurrencesOfString
NSString *search = [searchbar.text stringByReplacingOccurrencesOfString:@" " withString:@""];
이것은 당신이 경험하고 있는 경우에 도움이 될 수 있습니다.\u00a0대신에(공백).장치 연락처 전화 번호를 추출할 때 이 문제가 발생했습니다.phoneNumber 문자열에 공백이 없도록 수정해야 했습니다.
NSString* yourString = [yourString stringByReplacingOccurrencesOfString:@"\u00a0" withString:@""];
언제yourString현재 전화 번호입니다.
stringByReplacingOccurencesOfString은 시작과 끝뿐만 아니라 문자열 내의 모든 공백을 바꿉니다.
사용하다
[YourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]
- (NSString *)removeWhitespaces {
return [[self componentsSeparatedByCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
}
이것이 저에게 가장 좋은 SWIFT 방법입니다.
let myString = " ciao \n ciao "
var finalString = myString as NSString
for character in myString{
if character == " "{
finalString = finalString.stringByReplacingOccurrencesOfString(" ", withString: "")
}else{
finalString = finalString.stringByReplacingOccurrencesOfString("\n", withString: "")
}
}
println(finalString)
그리고 결과는: ciaociao입니다.
하지만 비결은 이것입니다!
extension String {
var NoWhiteSpace : String {
var miaStringa = self as NSString
if miaStringa.containsString(" "){
miaStringa = miaStringa.stringByReplacingOccurrencesOfString(" ", withString: "")
}
return miaStringa as String
}
}
let myString = "Ciao Ciao Ciao".NoWhiteSpace //CiaoCiaoCiao
이것은 텍스트 필드에서 텍스트를 가져올 때 사용할 수 있지만 문자열 사이의 공백을 제거하려면 공백을 제거하기 위한 것입니다.
xyz =[xyz.text stringByReplacingOccurrencesOfString:@" " withString:@""];
빈 공간을 공백 없이 대체하며 빈 필드는 다음 방법으로 처리됩니다.
searchbar.text=[searchbar.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
아래 marco를 사용하여 공백을 제거합니다.
#define TRIMWHITESPACE(string) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
다른 파일에서 TRIM을 호출합니다.
NSString *strEmail;
strEmail = TRIM(@" this is the test.");
당신에게 도움이 되길...
이를 프로젝트 어딘가에 배치할 것을 강력히 제안합니다.
extension String {
func trim() -> String {
return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
}
func trim(withSet: NSCharacterSet) -> String {
return self.stringByTrimmingCharactersInSet(withSet)
}
}
pStrTemp = [pStrTemp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
언급URL : https://stackoverflow.com/questions/7628470/remove-all-whitespaces-from-nsstring
'programing' 카테고리의 다른 글
| 파이썬 스와핑 이해: a, b = b, a가 항상 b, a = a, b와 같지 않은 이유는 무엇입니까? (0) | 2023.05.01 |
|---|---|
| PSQL의 DECTION 및 NUMERICAL 데이터 유형 간의 차이 (0) | 2023.05.01 |
| FileUpload 서버 컨트롤을 사용하지 않고 ASP.net 에서 파일 업로드 (0) | 2023.04.26 |
| 유형 오류: $(...).DataTable이 함수가 아닙니다. (0) | 2023.04.26 |
| ASP.NET Core CORS WebAPI: 액세스 제어-원산지 허용 헤더 없음 (0) | 2023.04.26 |