2009-10-21 2 views
4

누구도 smalltalk에서 문자열에 대한 개행 문자 구분 기호를 알고 있습니까?스몰 토크, 개행 문자

문자열을 별도의 줄로 분할하려하지만 smalltalk에서 줄 바꿈 문자가 무엇인지 알 수 없습니다.

즉.

어떤 문자 나 기호를 기반으로 한 줄을 나눌 수 있지만 줄 바꿈 문자가 무엇인지 알 수 없습니다.

여기 OK는 쉼표를 기반으로 문자열을 분할하는 방법입니다.하지만 새 줄을 기반으로 할 수는 없습니다.

답변

3

에게이다, 즉 Character cr 또는 다른 한 바와 같이, 문자열 String cr인치 당신은 지금 당신이 VisualWorks를 사용하고 언급하기 때문에 당신이 "찍찍 - 액세스가없는 한

string := 'smalltalk is 
a lot of fun.'. 

string findTokens: String cr, String lf. 

는, 위에서 작동하지 않습니다 : 모든 표준 개행 문자 형식을 지원하고 싶다면, 단지 예를 들어 모두 표준 구분 기호를 포함 "범주가로드됩니다 (아마도 Seaside를 사용하지 않는 한 그렇게하지 못할 것입니다). = '스몰 토크 많은 \입니다 : thus--

문자열,

'foo 
bar' allRegexMatches: '[^', (String with: Character cr), ']+' 
+0

이 오류가 발생합니다 : findTokens는 새로운 메시지입니다 : – user69514

+0

위와 같이 "sep"를 (String : Character cr)로 설정할 수도 있습니다. 앞으로 VW를 사용한다고 언급하십시오. Smalltalk 사투리는 당신이 발견 한 것과 크게 다릅니다. –

+0

고마워, 정말 고마워. 문자열 : 문자 cr이 완벽하게 작동했습니다. 나는 내가 미래에 VW를 언급 할 것을 확신 할 것이다. 고마워. – user69514

0

this question에 기재된대로 : Character cr.

+0

이전에 시도했지만 작동하지 않았습니다. 실제로 그것은 영원히 계속 달리고있었습니다. 나는 그것을 죽여야 만했다. – user69514

1

빠른 해결책 (더 나은지는 잘 모르겠다) :

| array | 배열 = mystring에의 findTokens : 문자열 CR

문자열 (CR)는 개행 분리는 전형적으로 캐리지 리턴이며, 캐리지 리턴 문자

+0

findTokens가 정의되지 않았습니다. 나는 비주얼 작품을 사용하고 있는데, 그것이 문제가되는지 나는 모른다. – user69514

0

당신은 문자열을 보낼 수 있습니다 >> withCRs 메시지가 다음 백 슬래시와 캐리지 리턴 구분 : 대신 정규 표현식 매치를 사용할 수 있습니다 재미있어. \ 괜찮아. ' CR과 함께.

+0

(VW에서 작동하고 두 가지 모두 들림) – mystylplx

0

물론 인코딩에 따라 다릅니다. cr, lf 또는 crlf 일 수 있습니다. 유니 코드의 경우 몇 가지 추가 가능성이 있습니다. 참조 : pharo linesDo: