2011-08-28 2 views
3

저는 RealBASIC 2011r3을 사용하여 소프트웨어를 작성 중이며, 단락으로 문자열을 분리하는 신뢰할 수있는 교차 플랫폼 방식이 필요합니다. 나는 다음을 사용하고 있지만, 단지 리눅스에서 작동하는 것 같다 :Windows, Mac 및 Linux에서 작동하는 RealBasic의 단락으로 텍스트를 구문 분석하는 가장 신뢰할 수있는 방법은 무엇입니까?

dim pTemp() as string 
pTemp = Split(txtOriginalArticle.Text, EndOfLine + EndOfLine) 

은 하나의 단락으로 다 돌려 내 Mac에서 이것을 시도합니다. RB가 지원하는 세 가지 빌드 대상 모두에서이 작업을 안정적으로 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

나는 거의 항상 검색하고 계속하기 전에 줄 바꿈 문자의 조합을 대체합니다. 나는 보통의 몇 줄을 다하겠습니다 :

yourString = replaceAll(yourString,chr(10)+chr(13),"<someLineBreakHolderString>") yourString = replaceAll(yourString,chr(13)+chr(10),"<someLineBreakHolderString>") yourString = replaceAll(yourString,chr(10),"<someLineBreakHolderString>") yourString = replaceAll(yourString,chr(13),"<someLineBreakHolderString>")

순서는 여기에 중요한 당신이 (10)를 포함하는 줄 바꿈을 교체 끝내고 싶지 않기 때문에 (개인 10 전 10 + 13 할) 2 명은 줄 바꿈 홀더가있는 13 명입니다.

다소 번거롭기 때문에 원본 문자열을 실제로 수정하는 것은 권장하지 않지만 문자열을 추가 구문 분석하기 전에 모든 줄 바꿈을 동일한 항목으로 변환하는 것이 좋습니다.

4

EndofLine은 플랫폼 및 문자열을 만든 플랫폼에 따라 다릅니다. 문자열에서 EndOfLine의 유형을 확인해야합니다. 나는 그것이 sMyString.EndOfLineType이라고 믿는다. 그것이 무엇인지 알게되면 그 위에 나눌 수 있습니다.

EndOfLine에 대한 추가 속성이 있습니다. 그것은 EndOfLine.Macintosh/Windows/Unix가 될 수 있습니다.

EndOfLine 워드 프로세서 : http://docs.realsoftware.com/index.php/EndOfLine