首页 > 编程知识 正文

Java字符串解析,java按字节截取字符串

时间:2023-05-04 09:22:49 阅读:146599 作者:2679

Ava实现剪切字符串,并按字节输出实例代码

前言:

请创建用于剪切字符串的函数,输入字符串和字节数,并输出为每字节剪切出的字符串。 但是,为了不像“我ABC”4那样切掉一半的汉字,应该切掉“我AB”,输入“我ABC汉def”6,输出“我ABC”“汉”而不是“我ABC”的一半。

2、解析思想

本题中容易困惑的是如何处理中文文字和英语文字。 这里需要考虑汉字和英语字符的占用字节数。 中文字符为2字节,英文字符为1字节。 理解了这个重点,写代码就很容易了。

3、Java代码

import java.util.Scanner;

公共类隔离{

静态字符串ss; //进行剪切操作的字符串

静态int n; //剪切的字符串的字节数

publicstaticvoidmain (字符串[ ] args ) {

请输入System.out.println ('字符串:

scanners CSTR=new scanner (system.in ); //从键盘获取字符串

ss=scStr.next (; 将Scanner对象的内容作为字符串检索

请输入System.out.println ('字节数:

sannerscbyte=new scanner (system.in ); //从键盘获取字符串

n=scByte.nextInt (; 将Scanner对象的内容作为数值提取

互联(setvalue ) ); //方法和方法的应用

}

公共静态字符串[ ] setvalue {//此方法的作用是将字符串转换为字符串数组

string [ ] string=new string [ ss.length (]; //创建字符数组string

for(intI=0; i string.length; I ) {

string[I]=ss.substring(I,i 1); //取出字符串ss的第I个字符,放入字符数组的字符串中

}

返回字符串; //返回此字符数组

}

publicstaticvoidinterception (字符串[ ]字符串) {

int count=0;

String m='[u4e00-u9fa5] '; //汉字正则表达式考试

system.out.println (以' n '字节分隔的字符串如下: ');

for(intI=0; i string.length; I ) {

将表与if(string[I].Matches(m ) )//字符数组中的每个元素匹配,如果相同,则返回true

计数器=计数器2; //当前字符为汉字时,在计数器count上加2

} else {

count=count 1; //如果当前字符不是汉字,则在计数器count上加1

}

if(countn )//在当前计数器count的值小于n的情况下,输出当前字符

system.out.print(string[I];

}elseif(count==n ) /当前计数器count的值为n时,输出当前字符

system.out.print(string[I];

计数=0;

System.out.println (; //循环结果需要换行符,并起到控制打印格式的作用

} else {

计数=0; //如果当前计数器count的值大于n,则清除计数器count,接着执行外部循环

System.out.println (;

}

}

}

}

感谢您的阅读。 希望对大家有帮助。 感谢您对本网站的支持。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。