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 에러 시 대처를 추가하자

+ Recent posts