java 截串,截取字符串(中英混合串)-JAVA代码

public class SplitString {

/**

* @param args

*/

public static void main(String[] args) {

String str = "中Zell中国5000年,Congruations!";

int bytes = 8;

str = new SplitString().getSubString(str, bytes);

System.out.println(str);

}

public String getSubString(String str,int bytes){

int temp = bytes;

byte [] AllBytes = str.getBytes();

int AllStrByteLen = AllBytes.length;

if(bytes > AllStrByteLen | bytes <= 0){

return str;

}

int ChinaWordsNum = 0;

for(int i=0;i

int IntOfByte = (int)AllBytes[i];

if(IntOfByte < 0 ){

ChinaWordsNum+=1;

}

}

if(ChinaWordsNum%2 == 0){

return  new String(AllBytes,0,temp);

}else{

if(bytes == 1){

return null;

}

}

return new String(AllBytes,0,temp-1);

}

public String getSubString(String SubjectString, int start, int length){            String   ResultString   =   null;            try   {                Pattern regex = Pattern.compile("^.{" + start + "}(.{" + length + "}).*$");                Matcher regexMatcher = regex.matcher(SubjectString);                System.out.println(regexMatcher.matches());                try   {                    ResultString   =   regexMatcher.replaceAll("$1");                }   catch   (IllegalArgumentException ex){                                  }   catch   (IndexOutOfBoundsException ex){                                  }              }catch(PatternSyntaxException ex){                         }               return   ResultString;            }   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值