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 에러 시 대처를 추가하자
'RPA Uipath' 카테고리의 다른 글
[Uipath] Try Catch가 제대로 작동하지 않는 버그 (0) | 2022.01.12 |
---|---|
LG전자 사이트 특성 정리 (5) | 2022.01.10 |
[Uipath] 트리거 형태에 따라 다른 설정을 하여 작업하고 싶은 경우 (0) | 2021.11.29 |
[Uipath] Google Text Translate 활용 (0) | 2021.11.01 |
[Uipath] 간단한 내용 일치 여부 판단 시 쓸 수 있는 방법 (1) | 2021.10.26 |