CountText

Description:

Counts various metrics on incoming text. The requested results will be recorded as attributes. The resulting flowfile will not have its content modified.

Tags:

count, text, line, word, character

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

NameDefault ValueAllowable ValuesDescription
Count Linestrue
  • true
  • false
If enabled, will count the number of lines present in the incoming text.
Count Non-Empty Linesfalse
  • true
  • false
If enabled, will count the number of lines that contain a non-whitespace character present in the incoming text.
Count Wordsfalse
  • true
  • false
If enabled, will count the number of words (alphanumeric character groups bounded by whitespace) present in the incoming text. Common logical delimiters [_-.] do not bound a word unless 'Split Words on Symbols' is true.
Count Charactersfalse
  • true
  • false
If enabled, will count the number of characters (including whitespace and symbols, but not including newlines and carriage returns) present in the incoming text.
Split Words on Symbolsfalse
  • true
  • false
If enabled, the word count will identify strings separated by common logical delimiters [ _ - . ] as independent words (ex. split-words-on-symbols = 4 words).
Character EncodingUTF-8
  • ISO-8859-1
  • UTF-8
  • UTF-16
  • UTF-16LE
  • UTF-16BE
  • US-ASCII
Specifies a character encoding to use.

Relationships:

NameDescription
successThe flowfile contains the original content with one or more attributes added containing the respective counts
failureIf the flowfile text cannot be counted for some reason, the original file will be routed to this destination and nothing will be routed elsewhere

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
text.line.countThe number of lines of text present in the FlowFile content
text.line.nonempty.countThe number of lines of text (with at least one non-whitespace character) present in the original FlowFile
text.word.countThe number of words present in the original FlowFile
text.character.countThe number of characters (given the specified character encoding) present in the original FlowFile

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.

See Also:

SplitText