实现一个按字节来提取字符串的方法,功能类似于String类的substring方法。String是按字符提取的,例如“中国abc”.substring(1,3)将返回“国a”,这里要求按字节提取,一个英文字符当一个字节,一个中文字符当两个字节。
package com.slowly.java;
import java.util.Scanner;
public class StringCut {
public static String StringCut(String abc,int i,int j){
byte[] a=abc.getBytes();
byte[] b= new byte[j-i+1];
System.arraycopy(a,i,b,0,j-i+1);
String newStr = new String(b);
return newStr;
}
public static void main(String[] args){
System.out.print("请输入一串字符");
@SuppressWarnings("resource")
Scanner inStr = new Scanner(System.in);
String Str = inStr.next();
System.out.print("请输入要截取的位置begin&end");
Scanner inNum = new Scanner(System.in);
int begin = inNum.nextInt();
int end = inNum.nextInt();
String s =StringCut(Str,begin,end);
System.out.print(s);
}
}
运行结果:
请输入一串字符中国你好abcdef
请输入要截取的位置begin&end2
6
国你?
请输入一串字符中国你好abcdef
请输入要截取的位置begin&end2
10
国你好abc