이번 장부터는 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 |