1

私はこの文字列を返します:

「月曜日から金曜日の午前 8 時から午後 7 時 30 分まで」

これを取得するには、mon-fri のものを削除する必要があります。

「午前8時~午後7時30分」

そして、開いているかどうかを判断するために、開始時間と終了時間に分割する必要があります。

「午前8時」 && 「午後7時30分」

でも、お店がたくさんあって開店時間も閉店時間もバラバラなので、8文字から6文字とかを抜き出すわけにはいきません。

これまでのところ、次のルートに進むことにしました。

NSRange startRange = [storeTime.text rangeOfString:@"-"];

NSString *openString = [storeTime.text substringWithRange:NSMakeRange(16, startRange.location-17)];

NSString *closeString = [storeTime.text substringWithRange:NSMakeRange(startRange.location+2, storeTime.text.length-(startRange.location+2))];

しかし、16 でハードコードされた開始のために壊れる可能性があるように思えます。他の場所で壊れる可能性があるのではないかと思います。これを達成する方法についてのより良いアイデアはありますか?

4

3 に答える 3

0

最初に、いくつかの文字列の出現箇所を置き換えてみませんか。

だから、[string stringByReplacingOccurrencesOfString:@"Monday" withString: @""];

すべての日とおそらく「スルー」文字列を削除します。

その後、あなたは時間に残されています。スペース文字に注意することを忘れないでください。

お役に立てれば。

于 2013-07-24T17:17:43.783 に答える