Java流 – Java字符串流
Char序列流
CharSequence接口的chars()返回一个IntStream,它的元素是表示字符的int值。
我们可以在String,StringBuilder和StringBuffer上使用chars()方法。
以下代码从字符串创建字符流,过滤掉所有数字和空格,然后打印剩余的字符:
public class Main { public static void main(String[] args) { String str = "5 123,123,qwe,1,123, 25"; str.chars() .filter(n -> !Character.isDigit((char)n) && !Character.isWhitespace((char)n)) .forEach(n -> System.out.print((char)n)); } }
上面的代码生成以下结果。
Regex流
java.util.regex.Pattern类中的splitAsStream(CharSequence input)方法返回其元素与模式匹配的String流。
以下代码通过使用正则表达式(“,”)拆分字符串来获取字符串流。
匹配的字符串打印在标准输出上。
import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "XML,CSS,HTML"; Pattern.compile(",") .splitAsStream(str) .forEach(System.out::println); } }
上面的代码生成以下结果。