Saya memiliki string seperti ini: @"10/04/2011"
dan saya ingin menyimpan hanya "10" di string lain. Bagaimana saya bisa melakukan itu?
Saya memiliki string seperti ini: @"10/04/2011"
dan saya ingin menyimpan hanya "10" di string lain. Bagaimana saya bisa melakukan itu?
Jawaban:
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
Pembaruan 7/3/2018:
Sekarang pertanyaannya telah memperoleh tag Swift, saya harus menambahkan cara Swift untuk melakukan ini. Sederhana saja:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
Meskipun perhatikan bahwa itu memberi Anda array Substring
. Jika Anda perlu mengubahnya kembali ke string biasa, gunakanmap
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
atau
let firstBit = String(substrings[0])
[foo firstObject]
mungkin lebih baik dalam kasus umum karena itu akan menangani array kosong juga.
Salah satu dari 2 ini:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
Meskipun perlu diingat bahwa kadang-kadang string tanggal tidak diformat dengan benar dan satu hari (atau sebulan dalam hal ini) ditampilkan sebagai 8, bukan 08 sehingga yang pertama mungkin yang terburuk dari 2 solusi.
Yang terakhir harus dimasukkan ke dalam array yang terpisah sehingga Anda benar-benar dapat memeriksa panjang hal yang dikembalikan, sehingga Anda tidak mendapatkan pengecualian yang dilemparkan dalam kasus string tanggal yang rusak atau tidak valid dari sumber apa pun yang Anda miliki.
Ini bekerja dengan baik
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
Menggunakan [myString componentsSeparatedByString:@"/"]
Saya telah memformat solusi bagus yang disediakan oleh JeremyP di atas menjadi fungsi yang dapat digunakan kembali yang lebih umum di bawah ini:
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}