截取字符串的代码实现

Posted 0820ll

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了截取字符串的代码实现相关的知识,希望对你有一定的参考价值。

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是保证汉子不被截半个,例如输入“人ABC” 4,应该截为“人AB”;输入“人ABC们DEF” 6,应该输出为“人ABC”,而不是“人ABC+半个们”。

分析:在String中英文占1个字节,中文占2个字节

 1 public class TruncateStr {
 2     private boolean isChinese(char cc){
 3         String str = String.valueOf(cc);  // 将字符转换成字符串
 4         return str.getBytes().length > 1;  // 将字符串转变为字节数组
 5     }
 6     private String truncateStr(String str, int len){
 7         if (str == null || str.equals("") || len == 0){
 8             return "";
 9         }
10         char [] charArr = str.toCharArray();  // 将字符串装换成字符数组
11         StringBuilder sb = new StringBuilder();
12         int count = 0;
13         for (char cc : charArr){  // 遍历字符数组
14             if (count < len){
15                 if (isChinese(cc)){
16                     if (count + 2 <= len){
17                         sb.append(cc);
18                         count += 2;
19                     }else {
20                         return sb.toString();
21                     }
22                 }else{
23                     sb.append(cc);
24                     count++;
25                 }
26             } else {
27                 break;
28             }
29         }
30         return sb.toString();
31     }
32     public static void main(String[] args){
33         TruncateStr ts = new TruncateStr();
34         System.out.println(ts.truncateStr("人ABC们DEF", 6));
35     }
36 }

 

以上是关于截取字符串的代码实现的主要内容,如果未能解决你的问题,请参考以下文章

截取字符串的代码实现

如何利用ffmpeg将一小段视频截取成图片

BioCode根据seq与位点信息截取窗口

vue2.0 代码功能片段

如何用ffmpeg截取视频片段&截取时间不准确的坑

Android 高级UI解密 :PathMeasure截取片段 与 切线(新思路实现轨迹变换)