24 #import <Foundation/Foundation.h>
25 #import <scl/NSObject+SCObject.h>
26 #import <scl/SCArray.h>
29 #pragma mark Boolean Constants
39 #define SC_BOOL_YES @"YES"
45 #define SC_BOOL_NO @"NO"
51 #define SC_BOOL_TRUE @"TRUE"
57 #define SC_BOOL_FALSE @"FALSE"
63 #define SC_BOOL_ON @"ON"
69 #define SC_BOOL_OFF @"OFF"
75 #define SC_BOOL_RU_YES @"ДА"
81 #define SC_BOOL_RU_NO @"НЕТ"
87 #define SC_BOOL_RU_TRUE @"ИСТИНА"
93 #define SC_BOOL_RU_FALSE @"ЛОЖЬ"
99 #define SC_BOOL_RU_ON @"ВКЛ"
105 #define SC_BOOL_RU_OFF @"ВЫКЛ"
108 #pragma mark String Constants
118 #define SC_STR_EMPTY @""
124 #define SC_STR_SPACE @" "
130 #define SC_STR_TAB @"\t"
132 #pragma mark Digital String Constants
142 #define SC_STR_ZERO @"0"
148 #define SC_STR_ONE @"1"
154 #define SC_STR_TWO @"2"
160 #define SC_STR_THREE @"3"
166 #define SC_STR_FOUR @"4"
172 #define SC_STR_FIVE @"5"
178 #define SC_STR_SIX @"6"
184 #define SC_STR_SEVEN @"7"
190 #define SC_STR_EIGHT @"8"
196 #define SC_STR_NINE @"9"
199 #pragma mark Character Constants
209 #define SC_CHR_SPACE ' '
215 #define SC_CHR_TAB '\t'
217 #pragma mark Digital Character Constants
227 #define SC_CHR_ZERO '0'
233 #define SC_CHR_ONE '1'
239 #define SC_CHR_TWO '2'
245 #define SC_CHR_THREE '3'
251 #define SC_CHR_FOUR '4'
257 #define SC_CHR_FIVE '5'
263 #define SC_CHR_SIX '6'
269 #define SC_CHR_SEVEN '7'
275 #define SC_CHR_EIGHT '8'
281 #define SC_CHR_NINE '9'
287 #define SC_CHR_DOT '.'
293 #define SC_CHR_COMMA ','
299 #define SC_CHR_PLUS '+'
305 #define SC_CHR_MINUS '-'
308 #pragma mark Format Constants
318 #define SC_FMT_OCTAL @"%qo"
324 #define SC_FMT_UDECIMAL @"%qu"
330 #define SC_FMT_SDECIMAL @"%qd"
336 #define SC_FMT_HEX @"%qX"
342 #define SC_FMT_FLOAT @"%f"
348 #define SC_FMT_DOUBLE @"%f"
354 #define SC_FMT_POINTER @"%p"
360 #define SC_FMT_OBJECT @"%@"
363 #pragma mark Class Constants
373 #define NSStringClass @"NSString"
411 @property (nonatomic, retain, readonly, getter=
normalizedString) NSString *normalizedString;
423 @property (nonatomic, retain, readonly, getter=
firstWord) NSString *firstWord;
429 @property (nonatomic, retain, readonly, getter=
lastWord) NSString *lastWord;
435 @property (nonatomic, retain, readonly, getter=
endOfString) NSString *endOfString;
478 @property (nonatomic, assign, readonly, getter=
booleanValue) BOOL booleanValue;
491 @property (nonatomic, retain, readonly, getter=
reversedString) NSString *reversedString;
504 @property (nonatomic, assign, readonly, getter=
empty) BOOL empty;
509 #pragma mark Creating Strings
510 + (instancetype)stringWithCoder:(NSCoder *)coder;
511 + (instancetype)stringWithContentsOfSerializedFile:(NSString *)path;
512 + (instancetype)stringWithDataDictionary:(NSDictionary *)dictionary;
513 + (instancetype)stringWithDataDictionaryFromFile:(NSString *)path;
514 + (instancetype)stringWithStream:(
SCStream *)stream;
515 + (instancetype)stringWithFileStream:(NSString *)path;
517 + (instancetype)stringWithIndexSet:(NSIndexSet *)indexSet;
518 + (instancetype)stringWithCharacter:(unichar)character;
519 + (instancetype)stringWithCharacter:(unichar)character length:(
SCIndex)length;
520 + (instancetype)stringWithLength:(
SCUInteger)length;
521 + (instancetype)stringWithPointer:(
void *)pointer;
522 + (instancetype)stringWithID:(
id)object;
525 #pragma mark Initializing Strings
526 - (instancetype)initWithIndexSet:(NSIndexSet *)indexSet;
527 - (instancetype)initWithCharacter:(unichar)character;
528 - (instancetype)initWithCharacter:(unichar)character length:(
SCIndex)length;
529 - (instancetype)initWithLength:(
SCUInteger)length;
530 - (instancetype)initWithPointer:(
void *)pointer;
531 - (instancetype)initWithID:(
id)object;
534 #pragma mark Dividing Strings and Replacing Substrings
539 - (NSString *)stringWithLeftCharacters:(
SCIndex)characters;
540 - (NSString *)stringWithRightCharacters:(
SCIndex)characters;
541 - (NSString *)skipLeftPart:(
SCIndex)characters;
542 - (NSString *)skipRightPart:(
SCIndex)characters;
544 - (BOOL)isCorrectRange:(NSRange)range;
545 - (BOOL)existsSubstring:(NSString *)substring caseInsensitive:(BOOL)caseInsensitive;
546 - (BOOL)existsSubstring:(NSString *)substring;
547 - (
SCIndex)countOfSubstring:(NSString *)substring caseInsensitive:(BOOL)caseInsensitive;
548 - (
SCIndex)countOfSubstring:(NSString *)substring;
549 - (
SCIndex)indexOfSubstring:(NSString *)substring caseInsensitive:(BOOL)caseInsensitive;
550 - (
SCIndex)indexOfSubstring:(NSString *)substring;
551 - (
SCArray *)indexesOfSubstring:(NSString *)substring caseInsensitive:(BOOL)caseInsensitive;
552 - (
SCArray *)indexesOfSubstring:(NSString *)substring;
554 - (NSString *)stringWithDeletedSubstring:(NSString *)substring caseInsensitive:(BOOL)caseInsensitive;
555 - (NSString *)stringWithDeletedSubstring:(NSString *)substring;
556 - (NSString *)stringWithDeletedSubstringToIndex:(
SCIndex)index;
557 - (NSString *)stringWithDeletedSubstringToRange:(NSRange)range;
558 - (NSString *)stringWithDeletedSubstringFromIndex:(
SCIndex)index;
559 - (NSString *)stringWithDeletedSubstringWithRange:(NSRange)range;
561 - (NSString *)stringWithReplacedSubstringToIndex:(
SCUInteger)index withString:(NSString *)string;
562 - (NSString *)stringWithReplacedSubstringFromIndex:(
SCUInteger)index withString:(NSString *)string;
563 - (NSString *)stringWithReplacedSubstringWithRange:(NSRange)range withString:(NSString *)string;
564 - (NSString *)stringWithReplacedSubstring:(NSString *)substring
565 withString:(NSString *)string
566 caseInsensitive:(BOOL)caseInsensitive;
567 - (NSString *)stringWithReplacedSubstring:(NSString *)substring withString:(NSString *)string;
569 - (NSString *)stringWithInsertedString:(NSString *)string;
570 - (NSString *)stringWithInsertedString:(NSString *)string index:(
SCUInteger)index;
573 #pragma mark String Words
576 - (NSString *)word:(
SCIndex)word;
582 #pragma mark Comparing Strings
583 - (BOOL)isEqualToStrings:(NSString *)string, ... NS_REQUIRES_NIL_TERMINATION;
586 #pragma mark РExpanding Strings
587 - (NSString *)leftExpandedStringToLength:(
SCIndex)length character:(unichar)character;
588 - (NSString *)leftExpandedStringToLength:(
SCIndex)length;
589 - (NSString *)leftZeroExpandedStringToLength:(
SCIndex)length;
590 - (NSString *)rightExpandedStringToLength:(
SCIndex)length character:(unichar)character;
591 - (NSString *)rightExpandedStringToLength:(
SCIndex)length;
593 + (instancetype)stringWithLeftExpandedString:(NSString *)string length:(
SCIndex)length character:(unichar)character;
594 + (instancetype)stringWithLeftExpandedString:(NSString *)string length:(
SCIndex)length;
595 + (instancetype)stringWithLeftZeroExpandedString:(NSString *)string length:(
SCIndex)length;
596 + (instancetype)stringWithRightExpandedString:(NSString *)string length:(
SCIndex)length character:(unichar)character;
597 + (instancetype)stringWithRightExpandedString:(NSString *)string length:(
SCIndex)length;
599 - (instancetype)initWithLeftExpandedString:(NSString *)string length:(
SCIndex)length character:(unichar)character;
600 - (instancetype)initWithLeftExpandedString:(NSString *)string length:(
SCIndex)length;
601 - (instancetype)initWithLeftZeroExpandedString:(NSString *)string length:(
SCIndex)length;
602 - (instancetype)initWithRightExpandedString:(NSString *)string length:(
SCIndex)length character:(unichar)character;
603 - (instancetype)initWithRightExpandedString:(NSString *)string length:(
SCIndex)length;
606 #pragma mark Adding Delimiters
607 - (NSString *)stringWithSeparator:(NSString *)separator left:(
SCIndex)left;
608 - (NSString *)stringWithSpacesLeft:(
SCIndex)left;
609 - (NSString *)stringWithSeparator:(NSString *)separator right:(
SCIndex)right;
610 - (NSString *)stringWithSpacesRight:(
SCIndex)right;
612 + (instancetype)stringWithString:(NSString *)string separator:(NSString *)separator left:(
SCIndex)left;
613 + (instancetype)stringWithString:(NSString *)string spacesLeft:(
SCIndex)left;
614 + (instancetype)stringWithString:(NSString *)string separator:(NSString *)separator right:(
SCIndex)right;
615 + (instancetype)stringWithString:(NSString *)string spacesRight:(
SCIndex)right;
617 - (instancetype)initWithString:(NSString *)string separator:(NSString *)separator left:(
SCIndex)left;
618 - (instancetype)initWithString:(NSString *)string spacesLeft:(
SCIndex)left;
619 - (instancetype)initWithString:(NSString *)string separator:(NSString *)separator right:(
SCIndex)right;
620 - (instancetype)initWithString:(NSString *)string spacesRight:(
SCIndex)right;
623 #pragma mark Data Types Representation
638 + (instancetype)stringWithBinaryInteger:(
SCULong)integer capacity:(
SCCapacity)capacity;
639 + (instancetype)stringWithBinaryInteger:(
SCULong)integer;
640 + (instancetype)stringWithOctalInteger:(
SCULong)integer;
641 + (instancetype)stringWithDecimalInteger:(
SCLong)integer separators:(BOOL)separators;
642 + (instancetype)stringWithDecimalInteger:(
SCLong)integer;
643 + (instancetype)stringWithInteger:(
SCLong)integer;
644 + (instancetype)stringWithHexadecimalInteger:(
SCULong)integer capacity:(
SCCapacity)capacity;
645 + (instancetype)stringWithHexadecimalInteger:(
SCULong)integer;
646 + (instancetype)stringWithBool:(BOOL)boolean;
647 + (instancetype)stringWithFloat:(
SCFloat)value;
648 + (instancetype)stringWithDouble:(
SCDouble)value;
650 - (instancetype)initWithBinaryInteger:(
SCULong)integer capacity:(
SCCapacity)capacity;
651 - (instancetype)initWithBinaryInteger:(
SCULong)integer;
652 - (instancetype)initWithOctalInteger:(
SCULong)integer;
653 - (instancetype)initWithDecimalInteger:(
SCLong)integer separators:(BOOL)separators;
654 - (instancetype)initWithDecimalInteger:(
SCLong)integer;
655 - (instancetype)initWithInteger:(
SCLong)integer;
656 - (instancetype)initWithHexadecimalInteger:(
SCULong)integer capacity:(
SCCapacity)capacity;
657 - (instancetype)initWithHexadecimalInteger:(
SCULong)integer;
658 - (instancetype)initWithBool:(BOOL)boolean;
659 - (instancetype)initWithFloat:(
SCFloat)value;
660 - (instancetype)initWithDouble:(
SCDouble)value;
663 #pragma mark Reversing Strings
665 + (instancetype)stringWithReversedString:(NSString *)string;
666 - (instancetype)initWithReversedString:(NSString *)string;
669 #pragma mark Other Methods
uint64_t SCULong
Definition: SCTypes.h:82
BOOL isHexadecimalString()
Definition: NSString+SCString.m:1945
NSString * rtrim()
Definition: NSString+SCString.m:652
NSString * firstWord
Definition: NSString+SCString.h:423
int64_t SCLong
Definition: SCTypes.h:58
BOOL isFloatString()
Definition: NSString+SCString.m:1978
SCULong hexadecimalValue
Definition: NSString+SCString.h:472
BOOL isDoubleString()
Definition: NSString+SCString.m:2008
SCULong octalValue
Definition: NSString+SCString.h:460
uint32_t SCUInteger
Definition: SCTypes.h:76
SCULong binaryValue
Definition: NSString+SCString.h:454
NSString * lastWord
Definition: NSString+SCString.h:429
Расширение функциональности стандартного класса NSString.
Definition: NSString+SCString.h:392
enum _SCCapacity SCCapacity
Тип разрядности целых чисел
Definition: SCTypes.h:291
SCULong decimalValue
Definition: NSString+SCString.h:466
SCIndex wordsCount
Definition: NSString+SCString.h:417
BOOL isOctalString()
Definition: NSString+SCString.m:1920
BOOL empty
Definition: NSString+SCString.h:504
NSString * normalizedString
Definition: NSString+SCString.h:411
NSString * endOfString
Definition: NSString+SCString.h:435
NSString * ltrim()
Definition: NSString+SCString.m:622
double SCDouble
Definition: SCTypes.h:94
NSString * reversedString
Definition: NSString+SCString.h:491
NSUInteger SCIndex
Definition: SCTypes.h:238
NSString * trim()
Definition: NSString+SCString.m:677
BOOL isBooleanString()
Definition: NSString+SCString.m:1957
BOOL isBinaryString()
Definition: NSString+SCString.m:1908
BOOL booleanValue
Definition: NSString+SCString.h:478
float SCFloat
Definition: SCTypes.h:88
BOOL isDecimalString()
Definition: NSString+SCString.m:1932
Класс массивов объектов
Definition: SCArray.h:75
NSString * stringWithUpperFirstLetter()
Definition: NSString+SCString.m:2577
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242