package com.test.demo.test; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; // 那个sb是因为我后面得做其他事,你们把他当做chinese字符串就行 public class test { public static void main(String[] args) { String chinese = "党成立后致力于组织领导工人运动;1921年8月成立公开做职工运动的总机关——中国劳动组合书记部。书记部出版《劳动周刊》;举办工人学校;组织产业工会,开展罢工斗争。党在工人中和整个社会上的政治影响日益扩大;在党的领导下;以1922年1月香港海员罢工为起点;1923年2月京汉铁路工人罢工为终点;掀起了中国工人运动第一次高潮;"; String[] arr=chinese.split("\\;"); StringBuffer sb=new StringBuffer(); String s1=" "; for (String s : arr) { sb.append(s).append(";"); } System.out.println(sb); String regex = "[\\u4e00-\\u9fa5]"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sb); int count=0; while (matcher.find()) { count++; } if(count>100){ s1=sb.substring(0,100)+"..."; } System.out.println(s1); } }