2014-05-14 3 views
0

I는 다음과 같이 파일에 문자열의 무리가 있습니다계산 문자 문자열의 특정 시점 이후

|first string|the second string of interest 

내가, 두 번째 파이프 후 시작 문자의 수를 계산하고 싶습니다을하는 이 경우는 29에 대해 어떻게 도움

+1

를? 맞습니까? – mdesantis

+0

나는 그것이 내가하려고 노력하고있는 것이라고 생각한다! –

+2

두 번째 파이프가 항상 마지막 파이프입니까? 그렇지 않다면 따라야하는 규칙을 분명히해야합니다. –

답변

3

감사겠습니까입니다 :

string.split('|').last.length 
+0

위대한! 6 분 안에 받아 들인다. –

+0

두 번째 문자열에 파이프 기호가 포함되어 있지 않다면 –

+1

@ cache.zero - 질문 : – BroiSatse

0

regexp와는 가장 유연한 것, 여기에 당신이 할 수있는을

string.match(/\|.*\|(.*)/)[1].length 
=> 29 
0

고급 정규식 : 긍정적 인 lookbehind + 부정적 예측 : 당신은 어떤 character_의 마지막 occurrency _after 문자를 계산해야

match = '|first string|the second string of interest'[/(?<=\|)(?!.*\|).*/] 
#=> "the second string of interest" 
match.size #=> 29 
1
string[/(?<=\|)[^|]*\z/].length 
관련 문제