java 如何对中英文和符号数字混合的字符串进行截取,其中包含各种括号( ( [ < >] ) )?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何对中英文和符号数字混合的字符串进行截取,其中包含各种括号( ( [ < >] ) )?相关的知识,希望对你有一定的参考价值。

输入参数
1、字符串
2、长度
以参数2值传入8为例,要求做如下处理:
1、一个英文等于半个汉字
2、8个汉字(包括8个)以内不做截断
3、8个以上汉字做截断处理,截断位置6个(5.5个)汉字处
4、一个汉字不能被从中间截断
5、需要截断的字符串如果包含左括号,而右括号将被截断,则从左括号处开始做截断处理
6、截断过的字符串后加“……”

参考技术A public static String subString(String str, int length)
if (str.length() <= 8)
return str;
String tempStr = str.substring(0, 6);
int left = tempStr.indexOf("(");
int right = tempStr.indexOf(")");
if (left < 0 && right >= 0)
return tempStr + "......";

int num = 6 > right - left ? right - left : 6;
return str.substring(left, num) + "......";

以上是关于java 如何对中英文和符号数字混合的字符串进行截取,其中包含各种括号( ( [ < >] ) )?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中:中英文混合的字符串按字节截取问题

Appium+Java自动化测试 android混合APP的webview页面截图怎么截?

如何组合两个数据框并自然地对混合字母数字类型的列进行排序?

lucene3.0如何实现中英数字混合字符串分词,例"wo是一个19岁的小伙",分词为w,o,是,一,个,1,9,岁,的,小

ruby:对符号数组进行排序

正则表达式仅数字和字符