forked from gnustep/libs-xcode
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNSString+PBXAdditions.m
45 lines (37 loc) · 1.15 KB
/
NSString+PBXAdditions.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#import <Foundation/NSArray.h>
#import "NSString+PBXAdditions.h"
@implementation NSString (PBXAdditions)
- (NSString *) firstPathComponent
{
NSArray *components = [self pathComponents];
return ([components count] > 0)?[components objectAtIndex: 0]:@"";
}
- (NSString *) stringByEscapingSpecialCharacters
{
return [self stringByReplacingOccurrencesOfString: @" "
withString: @"\\ "];
}
- (NSString *) stringByCapitalizingFirstCharacter
{
unichar c = [self characterAtIndex: 0];
NSRange range = NSMakeRange(0,1);
NSString *oneChar = [[NSString stringWithFormat:@"%C",c] uppercaseString];
NSString *name = [self stringByReplacingCharactersInRange: range withString: oneChar];
return name;
}
- (NSString *) stringByDeletingFirstPathComponent
{
NSArray *components = [self pathComponents];
NSString *firstComponent = [self firstPathComponent];
NSString *result = @"";
NSEnumerator *en = [components objectEnumerator];
NSString *c = nil;
while ((c = [en nextObject]) != nil)
{
if ([c isEqualToString: firstComponent])
continue;
result = [result stringByAppendingPathComponent: c];
}
return result;
}
@end