PatternReplaceFilter (Lucene 10.5.0 common API)
Description: declaration: package: org.apache.lucene.analysis.pattern, class: PatternReplaceFilter

Package org.apache.lucene.analysis.pattern

# Class PatternReplaceFilter

java.lang.Object
org.apache.lucene.util.AttributeSource
org.apache.lucene.analysis.TokenStream
org.apache.lucene.analysis.TokenFilter
org.apache.lucene.analysis.pattern.PatternReplaceFilter

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Unwrappable<TokenStream>`

public final class PatternReplaceFilter extends TokenFilter
A TokenFilter which applies a Pattern to each token in the stream, replacing match occurrences with the specified replacement string.

Note: Depending on the input and the pattern used and the input TokenStream, this TokenFilter may produce Tokens whose text is the empty string.

See Also:
  - `Pattern`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

  `AttributeSource.State`

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.analysis.TokenFilter

  `input`

  ### Fields inherited from class org.apache.lucene.analysis.TokenStream

  `DEFAULT_TOKEN_ATTRIBUTE_FACTORY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PatternReplaceFilter(TokenStream in, Pattern p, String replacement, boolean all)`
  Constructs an instance to replace either the first, or all occurrences

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `incrementToken()`

  ### Methods inherited from class org.apache.lucene.analysis.TokenFilter

  `close, end, reset, unwrap`

  ### Methods inherited from class org.apache.lucene.util.AttributeSource

  `addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PatternReplaceFilter

    public PatternReplaceFilter(TokenStream in, Pattern p, String replacement, boolean all)
    Constructs an instance to replace either the first, or all occurrences
    Parameters:
      `in` - the TokenStream to process
      `p` - the patterm to apply to each Token
      `replacement` - the "replacement string" to substitute, if null a blank string will be used. Note that this is not the literal string that will be used, '$' and '\' have special meaning.
      `all` - if true, all matches will be replaced otherwise just the first match.
    See Also:
      - `Matcher.quoteReplacement(java.lang.String)`

- ## Method Details

  - ### incrementToken

    public boolean incrementToken() throws IOException
    Specified by:
      `incrementToken` in class `TokenStream`
    Throws:
      `IOException`