「-」を区切り文字として使用して在庫量を示す文字列があります。
これは次のように構築されています:localStock
--wareHouseStock
supplierStock
ここで、文字列の最後にあるsupplierStockを更新したいのですが、以下のコードでわかるように、元の文字列が単一スペースの値(20など)より多くを返すと、問題が発生します。
最後の「-」までのすべての文字を削除する(または2番目の「-」の後の文字を削除する)方法はありますか?
NSMutableString *string1 = [NSMutableString stringWithString: p1.colorStock];
NSLog(@"string1: %@",string1);
NSString *newString = [string1 substringToIndex:[string1 length]-2];
NSLog(@"newString: %@",newString);
NSString *colorStock = [NSString stringWithFormat:@"%@-%@",newString,p2.supplierStock];
NSLog(@"colorstock: %@",colorStock);
p1.colorStock = colorStock;
NSLog1
string1: 0-0-0
newString: 0-0
colorstock: 0-0-20
NSLog2
string1: 0-0-20
newString: 0-0-
colorstock: 0-0--20
編集: Srikarのおかげで動作しました!
NSString *string1 = [NSString stringWithString: p1.colorStock];
NSLog(@"string1: %@",string1);
NSString *finalString = [string1 stringByReplacingOccurrencesOfString:[[string1 componentsSeparatedByString:@"-"] lastObject] withString:p2.supplierStock.stringValue];
NSLog(@"finalString: %@",finalString);
p1.colorStock = finalString;