SO Im は、いくつかの共有コードを作成している間、自分のプロジェクトに固執しました。いくつかの文字列を含むリストがあります。これをフィルタリングしてから、フィルタリングされた文字列を位置で分割します。私はすでにobjective-cでこれを行っていますが、c#でこれを行う方法がわかりません。
Objective-c は次のようになります。
NSPredicate *findStringWithStatusPlanned = [NSPredicate predicateWithFormat:@"SELF contains[c] 'TOMTOM101'"];
NSArray *filteredArrayOnStatusPlanned = [trackTraceContentFiltered filteredArrayUsingPredicate:findStringWithStatusPlanned];
NSLog(@"%@",filteredArrayOnStatusPlanned);
plannedStatusCompleet = [filteredArrayOnStatusPlanned lastObject];
janssenRef = [plannedStatusCompleet substringWithRange:NSMakeRange(0, 8)];
clientRef = [plannedStatusCompleet substringWithRange:NSMakeRange(9, 15)];
dateReceived = [plannedStatusCompleet substringWithRange:NSMakeRange(25, 10)];
tomTomCode = [plannedStatusCompleet substringWithRange:NSMakeRange(36, 9)];
orderText = [plannedStatusCompleet substringWithRange:NSMakeRange(47, 59)];
podFileName = [plannedStatusCompleet substringWithRange:NSMakeRange(113, 19)];
Plannedidentifier = [plannedStatusCompleet substringWithRange:NSMakeRange(62, 1)];
NSLog(@"Planid:%@",Plannedidentifier);
NSArray *cutContentPlannedStatus = [NSArray arrayWithObjects:janssenRef,clientRef,dateReceived,tomTomCode,orderText,podFileName,Plannedidentifier,nil];
[[NSUserDefaults standardUserDefaults] setObject:cutContentPlannedStatus forKey:@"plannedData"];
私はこのように分割しようとしました:
foreach (string s in TrackTraceDataByLine) {
string[] splitted = s.Split (new char[] { ' ' });
if (s.Length >= referenceNumber.Length) {
if (referenceNumber == splitted [1]) {
dataFilteredOnRef.Add (s);
}
}
}
スペースで分割するのではなく、位置で行う必要があることにすぐに気付くことができます。これは、参照番号のような一部の部分にスペースが含まれている可能性があるためです。