2014-07-15 2 views
0

아래 주어진 결과를 얻고 있지만 Xquery를 통해 모든 파일 이름을 개별적으로 추출하려고합니다. 그렇다면 개별적으로 파일을 추출하는 가장 좋은 방법은 무엇입니까?문자열 값을 추출하는 정규 표현식

db/Staff_Member1.xml db/Staff_Member2.xml db/Staff_Member3.xml db/Staff_Member4.xml db/Staff_Member5.xml db/Staff_Member6.xml db/Staff_Member7.xml db/Staff_Member8.xml db/Staff_Member9.xml db/Staff_Member10.xml db/Staff_Member11.xml db/Staff_Member12.xml db/Staff_Member13.xml db/Staff_Member14.xml db/Staff_Member15.xml 
+0

당신은 결과의 요소를 분할하려는? – Unihedron

+0

@user 당신은 정규식을 요구하는 제목에 http://regex101.com/r/pS5cD9/3 –

+2

을 의미하지만 여기서 xquery를 요구합니다. 응? – Dbl

답변

2

이 일부 XQuery에 의해 반환 된 문자열의 순서입니다 감안할 때, 나는 경로 구분자 /에 토큰 화를 위해 가서 더 마지막 세그먼트를 진행할 것입니다. 문자열의 각 토큰 화를 실행

정규 표현식이 필요하지 않으며 단지 일을 더 복잡하게 만들 것, 오직 작품은 XQuery를 3.0로 시작
let $path := 'db/Staff_Member1.xml' 
let $basename := tokenize($path, '/')[last()] 
return $basename 

, XQuery를 1.0로 문자열이 일치하는 경우, 일치 반환하지 확인할 수 있습니다 부분 문자열.

2

당신이 경로에서 바로 파일 이름을 원하는 경우에, 당신은 사용할 수

replace($your-string, ".*/(.*)", "$1") 

이 XQuery를 1.0에서 작동 또는 그래서 3.0

관련 문제