이번 장부터는 Apache nifi 표현 언어 가이드 2장에 이어 docs 내용의 함수부터 번역하여 기술하겠습니다.
문자열 조작
| 입력 유형 | 반환 유형 | 설명 | 예 | |
| toUpper |
String | String | 문자열을 모두 대문자로 변환합니다 | "abc" => "ABC" |
| toLower |
String | String | 문자열을 모두 소문자로 변환합니다 | "ABC" => "abc" |
| trim |
String | String | 문자열 앞뒤의 공백을 제거합니다 | " 1 2 3 " => "123" |
| substring |
String | String | 문자열의 일부를 가져옵니다 | 별도 작성 |
| substringBefore |
String | String | 특정 문자열이 등장하기 전까지 가져옵니다 | 별도 작성 |
| substringBeforeLast |
String | String | 특정 문자열이 마지막으로 등장하기 전까지 가져옵니다 | 별도 작성 |
| substringAfter |
String | String | 별도 작성 | |
| substringAfterLast |
String | String | 별도 작성 | |
| getDelimitedField |
String | String | 구분된 텍스트 라인에서 특정 필드를 반환합니다 | 별도 작성 |
| append |
String | String | 인수를 값에 추가한 결과를 반환합니다 | |
| prepend | String | String | 인수를 앞에 추가한 결과를 반환합니다 | |
| replace | String | String | 리터럴 문자열의 동일 문자열을 바꿉니다 | |
| replaceFirst | String | String | 리터럴 문자열의 첫번째 문자열을 바꿉니다 | |
| replaceAll | String | String | 리터럴 문자열의 모든 동일 문자열을 바꿉니다. | |
| padLeft | String | String | 전달된 길이에 도달할 때까지 지정된 문자열을 앞에 추가합니다 | |
| padRight | String | String | 전달된 길이에 도달할 때까지 지정된 문자열을 추가합니다 | |
| replaceNull | Any | not null else, type of Argument |
전달 문자열이 null인 경우 인수를 반환합니다 | |
| replaceEmpty | String | String | 전달 문자열이 null이거나 공백으로 구성된 경우 true 아닌경우 문자열이 반환됩니다 | |
| length | String | Number | 제목의 길이를 반환합니다 | |
| evaluateELString | String | String | 변수 값 내에서 표현식 언어를 평가합니다 | |
| repeat | String | String | 최소 반복과 최대 반복 사이에 임의 횟수만큼 반복되는 제목 문자열을 반환합니다 |
다음 장에서는 수학연산 및 날짜 다루는 방법을 살펴보겠습니다.
아래에는 주로 표현식과 값에 대한 예제코드 작성방법입니다.
Substring Examples
"filename" value "a brand new filename.txt"
| 표현식 | 값 |
| ${filename:substring(0,1)} | a |
| ${filename:substring(2)} | brand new filename.txt |
| ${filename:substring(12)} | filename.txt |
| ${filename:substring( ${filename:length():minus(2)} )} | xt |
SubstringBefore Examples
| 표현식 | 값 |
| ${filename:substringBefore('.')} | a brand new filename |
| ${filename:substringBefore(' ')} | a |
| ${filename:substringBefore(' n')} | a brand |
| ${filename:substringBefore('missing')} | a brand new filename.txt |
SubstringBeforeLast Examples
| 표현식 | 값 |
| ${filename:substringBeforeLast('.')} | a brand new filename |
| ${filename:substringBeforeLast(' ')} | a brand new |
| ${filename:substringBeforeLast(' n')} | a brand |
| ${filename:substringBeforeLast('missing')} | a brand new filename.txt |
SubstringAfter Examples
| 표현식 | 값 |
| ${filename:substringAfter('.')} | txt |
| ${filename:substringAfter(' ')} | brand new filename.txt |
| ${filename:substringAfter(' n')} | ew filename.txt |
| ${filename:substringAfter('missing')} | a brand new filename.txt |
substringAfterLast Examples
| 표현식 | 값 |
| ${filename:substringAfterLast('.')} | txt |
| ${filename:substringAfterLast(' ')} | filename.txt |
| ${filename:substringAfterLast(' n')} | ew filename.txt |
| ${filename:substringAfterLast('missing')} | a brand new filename.txt |
GetDelimitednField Examples
| 표현식 | 값 |
| ${line:getDelimitedField(2)} | _(space)_32 |
| ${line:getDelimitedField(2):trim()} | 32 |
| ${line:getDelimitedField(1)} | "Jacobson.John" |
| ${line:getDelimitedField(1, ',', '"', '\\', true)} | Jacobson.John |
| ${altLine:getDelimitedField(1, '|')} | Jacobson.John |
Replace Examples
| 표현식 | 값 |
| ${filename:replace('.', '_')} | a brand new filename_txt |
| ${filename:replace(' ', '.')} | a.brand.new.filename.txt |
| ${filename:replace('XYZ', 'ZZZ')} | a brand new filename.txt |
| ${filename:replace('filename', 'book')} | a brand new book.txt |
ReplaceFirst Examples
| 표현식 | 값 |
| ${filename:replaceFirst('a', 'the')} | the brand new filename.txt |
| ${filename:replaceFirst('[br]', 'g')} | a grand new filename.txt |
| ${filename:replaceFirst('XYZ', 'ZZZ')} | a brand new filename.txt |
| ${filename:replaceFirst('\w{8}', 'book')} | a brand new book.txt |
ReplaceAll Examples
| 표현식 | 값 |
| ${filename:replaceAll('\..*', '')} | a brand new filename |
| ${filename:replaceAll('a brand (new)', '$1')} | new filename.txt |
| ${filename:replaceAll('XYZ', 'ZZZ')} | a brand new filename.txt |
| ${filename:replaceAll('brand (new)', 'somewhat $1')} | a somewhat new filename.txt |
PadLeft Examples
| 표현식 | 값 |
| ${greetings:padLeft(10)} | _____hello |
| ${greetings:padLeft(10, '@')} | @@@@@hello |
| ${greetings:padLeft(10, 'xy')} | xyxyxhello |
| ${greetings:padLeft(10, 'aVeryLongPaddingString')} | aVeryhello |
PadRight Examples
| 표현식 | 값 |
| ${greetings:padRight(10)} | hello_____ |
| ${greetings:padRight(10, '@')} | hello@@@@@ |
| ${greetings:padRight(10, 'xy')} | helloxyxyx |
| ${greetings:padLeft(10, 'aVeryLongPaddingString')} | helloaVery |
Repeat Examples
| 표현식 | 값 |
| ${str:repeat(1)} | abc |
| ${str:repeat(2)} | abcabc |
| ${str:repeat(1,2)} | abc or abcabc (at random) |
| ${str:repeat( ${str:length()} )} | abc or abcabc or abcabcabc (at random) |
'빅데이터 > Apache Nifi' 카테고리의 다른 글
| Nifi Database 05. 데이터 포맷 설명 (0) | 2023.12.18 |
|---|---|
| Nifi Database 02. Connection Pool 설정 (1) | 2023.12.18 |
| Apache NiFi 표현 언어 가이드(2) (0) | 2023.12.12 |
| Apache NiFi 표현 언어 가이드(1) (1) | 2023.12.11 |
| Apache nifi 사용 안내서(2) (0) | 2023.12.07 |
