Home > Java > javaTutorial > body text

How Can I Customize Input Tokenization in Java Using `Scanner.useDelimiter()`?

DDD
Release: 2024-11-20 04:19:02
Original
505 people have browsed it

How Can I Customize Input Tokenization in Java Using `Scanner.useDelimiter()`?

Understanding Delimiters with Scanner.useDelimiter in Java

Often, we require the Scanner class to break input into tokens based on specific patterns, known as delimiters. By default, Scanner uses whitespace characters like spaces, tabs, and newlines as delimiters. However, you can set custom delimiters using the useDelimiter() method.

The syntax for useDelimiter() is as follows:

Scanner scanner = new Scanner(input).useDelimiter(delimiter);
Copy after login

where input is the input stream and delimiter is the custom delimiter pattern expressed as a regular expression.

Explanation

The provided example uses the following delimiter:

",|\r\n"
Copy after login

This delimiter consists of two parts:

  • "," (comma): Specifies that a comma should be treated as a separator.
  • "rn" (carriage return and newline): Indicates that a carriage return followed by a newline should be considered as a delimiter.

Therefore, when using this delimiter, the scanner will split the input into tokens at both commas and line breaks.

Regular Expressions

Delimiters can leverage the full capabilities of regular expressions. Examples of commonly used regular expressions include:

  • ".": Matches any single character.
  • "s": Matches any whitespace character.
  • "d": Matches any digit.
  • "[abc]": Matches any character within the brackets, so this matches 'a,' 'b,' or 'c.'

Example

Consider the following input:

1,2,red,blue
green,4,5
Copy after login

Using the delimiter pattern ",|rn", the scanner would tokenize the input as follows:

["1", "2", "red", "blue"]
["green", "4", "5"]
Copy after login

Conclusion

Understanding delimiters with Scanner.useDelimiter() allows you to customize the tokenization behavior of the Scanner class. By specifying regular expressions as delimiters, you can control the way input is split into tokens, enabling more granular processing of text data.

The above is the detailed content of How Can I Customize Input Tokenization in Java Using `Scanner.useDelimiter()`?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template