2016-11-23 1 views
0

파일 이름에서 특수 문자를 제거하고 싶습니다. 아래 코드를 찾으십시오. 나는 제거에 문제가 있습니다. 파일 이름에서 내 코드는 .in 확장자도 제거합니다.객관적인 c에있는 특수 문자를 제거하십시오

Ex filename = atf.bac.xlsx 
Expected result: atfbac.xlsx 
Current Behavior:atfbacxlsx 


NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@".#%;:?,/|\[]{}@$%^*"]; 
fileName = [[fileName componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""]; 

답변

6

당신은 경로에 파일 이름 또는 URL 파일 확장자 일시적으로

  • 저장 문자열을 처리해야합니다.
  • 파일 확장자를 삭제하십시오.
  • 원치 않는 문자를 제거하십시오.
  • 파일 확장명을 추가하십시오.

    NSString *fileName = @"atf.bac.xlsx"; 
    NSString *extension = fileName.pathExtension; 
    NSString *baseName = [fileName stringByDeletingPathExtension]; 
    NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@".#%;:?,/|\[]{}@$%^*"]; 
    fileName = [[[baseName componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""] stringByAppendingPathExtension:extension]; 
    NSLog(@"%@",fileName); 
    
관련 문제