0

I want to split the numbers and characters in a string only if a string contains numbers otherwise I don't want to split it.

ex:

String1 = @"hai 1234";

I want to split the this string as

String2 = 1234
String3 = hai;

another ex:

String1 = @"hai" 

I don't want to split.

Servy
  • 202,030
  • 26
  • 332
  • 449

3 Answers3

0

Use below code to split Characters & Numbers

//Numbers

    NSString *numbers = [@"hai 1234" stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]];

//Characters

    NSString *characters = [@"hai 1234" stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];
Sivajee Battina
  • 4,124
  • 2
  • 22
  • 45
0

This question is a duplicate. Objective-C: Find numbers in string

// Input
NSString *originalString = @"This is my string. #1234";

// Intermediate
NSString *numberString;

NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSCharacterSet *numbers = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

// Throw away characters before the first number.
[scanner scanUpToCharactersFromSet:numbers intoString:NULL];

// Collect numbers.
[scanner scanCharactersFromSet:numbers intoString:&numberString];

// Result.
int number = [numberString integerValue];

// Text
NSString *text = [originalString stringByReplacingOccurrencesOfString:numberString withString:@""];
Community
  • 1
  • 1
Clown
  • 163
  • 1
  • 12
  • it i want to split numbers and characters ,not only the number s – user6183984 May 10 '17 at 07:17
  • So, after get the number string you can `stringByReplacingOccurrencesOfString` to original string and get the text you want `NSString *text = [originalString stringByReplacingOccurrencesOfString:numberString withString:@""];` – Clown May 10 '17 at 08:20
0
   //number 
     NSString *onlyNumbers = [[string1 componentsSeparatedByCharactersInSet:
                    [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] 
                    componentsJoinedByString:@""];

   //characters

    NSString *onlyCharacters = [[string1 componentsSeparatedByCharactersInSet:
                                [[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""];
Sangram Shivankar
  • 3,535
  • 3
  • 26
  • 38