2011-07-05 9 views
0

나는 UITextView로로드되는 .plist 배열에 텍스트 단락 (4 문장)이 있습니다.UITextField에서 텍스트를 구분하는 방법은 무엇입니까?

기본적으로 문단의 큰 덩어리로 텍스트가 표시됩니다. 이걸 나눌 수 있는지 알고 싶습니까?

이러한 라인 1과 : sdfafasfsafsa, 다음 라인 2 : asfdsafs, 라인 3 : adfsfsdfsdfa 등

내가 . 검색하고 그에 따라 선을 분리 할 수있는 방법이 있나요? 필자는 수동으로 plist를 편집 할 것이지만 수백 개의 항목이 있으므로 쉽게 수행 할 수 없습니다.

답변

3
NSString* tidiedString = [sourceString stringByReplacingOccurrencesOfString:@"." withString:@"\n"]; 

업데이트 : 좋아, 그럼 더 자세히 통해오고있다. 정규 표현식을 사용할 수 있습니다. 익숙하지 않은 경우 학습 곡선이 조금 가파릅니다. 그렇지 않은 경우 다른 답변과 마찬가지로 목록을 크랭크하십시오. 공백, 빈 줄 등을 처리해야합니다. 다음 스 니펫은 꽤 아니지만 작업을 수행합니다.

NSString* sourceString = @"Hyperlinks can be great. They can also dilute your focus and tempt you into putting off what you most want to do. Here I chose to place links at the foot of the page to help you to make an active choice as to whether to surf or refocus your attention elsewhere."; 

NSArray* arrayOfStrings = [sourceString componentsSeparatedByString:@"."]; 

NSMutableString* superString = [NSMutableString stringWithString:@""]; 

int lineCount = 1; 
for (NSString* string in arrayOfStrings) 
{ 
    if ([string length] < 1) continue; 

    [superString appendFormat:@"Line %d: %@.\n", lineCount++, [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 
} 

[superString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

[[self userEntry] setText:superString]; 
+0

Matthew에게 감사 드려요.하지만 어떻게 1 행, 2 행 등을 추가 할 수 있습니까? – Jon

+0

'.'s가 여러 개있는 경우 여러 행을 만들 것입니다. – PengOne

+0

예.하지만 "Line 1 :", "Line 2 :"'등의 실제 텍스트가 있습니다. – Jon

0

배열을 통해 실행하고 모든 행을 UITextView와 @ "\ n"에 더한 루프를 만들어보십시오.

그래서 뭔가 같은 ... :

NSString *curText = txtView.text; 
NSString *lineBreak = @"\n"; 
txtView.text=[NSString stringWithFormat:@"%@ + %@", curText, lineBreak]; 

하거나 @로 점을 대체 "\ n".

3
NSArray *array = [sourceString componentsSeparatedByString:@"."]; 

NSMutableString *resultString= [[NSMutableString alloc] init]; 
int linecount=1; 
for(NSString *lines in array) 
{ 
    [resultString appendString:[NSString stringWithFormat:@"Line%i:%@\n",linecount++,lines]]; 
} 

NSLog(@"resultString:%@",resultString); 

이것은 도움이 될 수 있습니다 .. !!

+0

안녕 Dileep. 하지만 웬일인지 매회 추가 라인 하나를 계속 추가하기 때문에 라인이 4 개 밖에없는 경우에는 추가로 '라인 5'가 있습니다. – Jon

+0

for (! [lines isEqualToString : @ ""]) for 루프에이 조건을 넣습니다. –

+0

그 라인을 삽입 한 것은 무엇입니까? – Jon

관련 문제