[Uipath] Before-After 기능을 간단히 쓰려고 하는 경우(문자열 편집 꿀팁)
Uipath가 타사 툴에 비해 불편한 사항 중 하나가 String 포맷의 편집이 다소 귀찮게 돼있다는 점이다.
그중 하나가 Before-After 기능인데, String의 Before와 After Word를 정해서 그 Between을 가져오는 Activity이다.
가령 "기간 : 20211217~20211231 {개행} 주최자 : James" 형태의 문자열이 있을 때 "기간 : "과 "~" 사이를 sBefore라는 변수에 넣는다고 하면 Index를 이리저리 찾아줘야 하는 귀찮음이 생긴다.
거기에 이 단어가 없는 경우까지 고려해서 분기처리를 또 해야한다.
간단하게 할 수 있는 방법은 다음과 같다.
split(split(sOrgStr,sBeforeStr)(1),sAfterStr)(0).Trim
split(split(sOrgStr,"기간 : ")(1),"~")(0).Trim
split(split(sOrgStr,"~")(1), environment.newline)(0).Trim
물론 이 경우 주의해야 될 케이스는 있다. 사용하고자 하는 분기 String이 앞에 또 있는 경우다.
그렇게 Occurence가 2이상인 경우는 split index의 (1)을 (2) 등으로 변경해야 하는 번거로움이 생긴다.
[라이브러리 만드는 법도 간단하므로 아예 라이브러리 만드는 것을 추천한다.]
split(split(sOrgStr,sBeforeStr)(iOccurence),sAfterStr)(0).Trim
Trim 여부도 조절하게 만드는 걸 추천한다. [어떤 값은 앞에 띄어쓰기가 있어야 시스템에서 조회되기도 함]
+ 웬만하면 이렇게 쓰더라도 값이 잘못 가져와 지거나 키워드가 변경될 소지를 고려해 split 에러 시 대처를 추가하자