root/Spiral/trunk/NSString-SPAdditions.m

Revision 5139, 2.3 kB (checked in by morris, 9 months ago)

Add setting for simplifying file names in playlist

  • Property svn:keywords set to Id Rev
Line 
1 /* $Id$ */
2
3 /*
4  *  Copyright (c) 2007 Axel Andersson
5  *  All rights reserved.
6  *
7  *  Redistribution and use in source and binary forms, with or without
8  *  modification, are permitted provided that the following conditions
9  *  are met:
10  *  1. Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *  2. Redistributions in binary form must reproduce the above copyright
13  *     notice, this list of conditions and the following disclaimer in the
14  *     documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
20  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
25  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import "NSString-SPAdditions.h"
30
31 @implementation NSMutableString(SPStringAdditions)
32
33 - (void)removeSubstringWithStartString:(NSString *)startString endString:(NSString *)endString {
34         NSRange         searchRange, range, removeRange;
35         NSUInteger      location;
36        
37         searchRange = NSMakeRange(0, [self length]);
38        
39         while((location = [self rangeOfString:startString options:0 range:searchRange].location) != NSNotFound &&
40                   location != [self length] - [startString length]) {
41                 searchRange.location = location + [startString length];
42                 searchRange.length = [self length] - searchRange.location;
43                
44                 range = [self rangeOfString:endString options:0 range:searchRange];
45                
46                 if(range.location != NSNotFound) {
47                         removeRange = NSMakeRange(location, range.location - location + [endString length]);
48                        
49                         [self deleteCharactersInRange:removeRange];
50                        
51                         searchRange.location = range.location - removeRange.length + 1;
52                         searchRange.length = [self length] - searchRange.location;
53                 }
54         }
55 }
56
57 @end
Note: See TracBrowser for help on using the browser.