2017-09-17 3 views
0

나는 빈 줄을 제거하는 트림을 사용하고 싶었 :리 폴트 트림은 CRLF를 제거하지 않고 빈 줄을 제거 할 수 있습니까?

line 1 

line 2 

line1 
line2 

을 얻을뿐만 아니라 CRLF를 제거 않습니다

trim/lines 

를 사용 할 수 있습니다. 그런 목적으로 트림을 사용하는 또 다른 방법이 있습니까?

+0

"공백 라인"표현을 사용하면 CRLF에 대한 언급이 명확하지 않습니다. Rebol은 CRLF 시퀀스를 사용하여 새 줄을 표시하지만 LF 문자는 표시하지 않습니다. 그렇다면 LF를 의미합니까, 아니면 CRLF 시퀀스 (ASCII 13에 이어 ASCII 10)가 포함 된 Rebol 문자열을 의미합니까? – DocKimbel

답변

3
replace/all {Line1^/^/Line2} {^/^/} {^/} 
4

당신은 PARSE 사용할 수 있습니다

parse string-with-newlines [ 
    any [ 
      crlf remove some crlf 
     | newline remove some newline 
     | skip 
    ] 
] 

그것은 더 빠를 수 있습니다하지만 캐릭터 세트를 사용하는 :

text: complement charset crlf 
parse string-with-newlines [ 
    any [ 
      some text 
     | crlf any crlf 
     | newline remove any newline 
    ] 
] 
1

단지 트림 방법이 없습니다, 그러나 여기 또한 removeach하고있는 솔루션 선행 LF도 제거

trim-emptyline: func [ 
    str [string!] 
    /local lfb4 lfnow c 
] [ 
    lfb4: true 
    remove-each c str [also all [lfnow: lf = c lfb4] lfb4: lfnow] 
    str 
]