2014-04-05 2 views
2

현재 여러 파일을 조작하는 스크립트를 만들고 있는데 변수 ($pio)에서 마지막 전체 단어를 읽으려고합니다.변수에서 마지막 전체 단어 읽기

문자열의 길이와 단어 수는 가변적이며 기능 시작시 $pio으로 설정됩니다.

공백으로 구분 된 줄/변수에서 "strip"이라는 단어를 읽으려고했지만 지금까지 문자 수만 읽을 수있었습니다.

문자열의 마지막 단어 전체를 읽고 새 변수로 구문 분석 할 수 있습니까?

당신은 문자열을 분할 한 후 마지막 인덱스 취할 수

답변

3

:

set lastWord [lindex [split $pio] end] 

아니면 조금 정규 표현식을 사용하여 괜찮다면,이 같은 것을 사용할 수 있습니다

regexp -- {\S+$} $pio lastWord 

\S+을 적어도 하나의 공백이 아닌 문자와 일치하는 표현식이고 $은이 일치가 문자열의 끝에서 발생하는지 확인합니다. 일치 항목에는 lastWord이라는 변수가 저장됩니다.

codepad demo

+2

아마도'split' 또는'regexp' 전에 문자열 trim''하는 것이 좋습니다. –

+0

이것을 고려하지 않았지만 사실입니다. 사용자 입력을 통해 우리는 결코 확신 할 수 없습니다! – Jerry