Ruby의 멀티 라인 끈을 어떻게 반복합니까?
-
03-07-2019 - |
문제
처음 루비 프로그래머의 매우 간단한 질문.
루비의 텍스트 슬래브를 어떻게 반복합니까? Newline이 충족 될 때마다 내부 루프를 다시 시작하고 싶습니다.
def parse(input)
...
end
해결책
str.each_line do |line|
#do something with line
end
다른 팁
Iraimbilanja가 말한 것.
또는 문자열을 새 줄로 분할 할 수 있습니다.
str.split(/\r?\n|\r/).each { |line| … }
조심하십시오 each_line
라인 피드 숯을 유지합니다 split
먹습니다.
여기서 내가 사용한 Regex는 세 가지 선 엔딩 형식을 모두 처리합니다. String#each_line
선택적 인수에 의해 선을 분리합니다 sep_string
, 기본값 $/
, 그 자체는 불이행합니다 "\n"
간단히.
마지막으로, 더 복잡한 문자열 구문 분석을하려면 내장 된 Stringscanner 클래스를 확인하십시오.
모든 패턴으로도 할 수 있습니다.
str.scan(/\w+/) do |w|
#do something
end
str.each_line.chomp do |line|
# do something with a clean line without line feed characters
end
나는 이것이 신약을 돌봐야한다고 생각합니다.
제휴하지 않습니다 StackOverflow