English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
您可以使用元字符“ \\ S ”来匹配非空格字符。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { //从用户读取字符串 System.out.println("输入一个字符串"); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String regex = "\\S"; //编译正则表达式 Pattern pattern = Pattern.compile(regex); //检索匹配器对象 Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("字符数(不包括空格):"+count); } }
输出结果
输入一个字符串 你好,你好吗?欢迎来到w3codebox 字符数(不包括空格):37