您的位置:首页 > 编程语言

剪切汉字字符串的代码!

2006-05-22 09:07 232 查看
剪切字符串的代码,如有问题请指教.

public class a{

public String subTitle(String s, int start, int end)
{
if(s ==null || s.equals(""))
{
return s;
}

if(start>end || start<0 || end <0)
{
System.out.println("start or end is error");
return null;
}

byte[] a = s.getBytes();

if(start > a.length)
{
System.out.println("start is large than String's length");
return null;
}
if( (a.length - start ) <= (end - start) )
{
end = a.length;
}

int startCount = 0, endCount = 0, i=0;

for(i=0;i<start;i++)
{
if(a[i]<0)
{
startCount++;
}
}

for(i=0;i<end;i++)
{
if(a[i]<0)   // if( a[i] & 0x80 ) 哪个更好?为什么?
{
endCount++;
}
}

if(startCount%2 !=0)
{
start++;
}

if(endCount%2 !=0)
{
end--;
}

System.out.println(start +" " +end + " " +startCount +" " +endCount);
return new String(a,start,end-start);

}
public String subTitle(String s,int start)
{
if(s == null || s.equals(""))
{
return s;
}
byte a[] = s.getBytes();

if(start < 0)
{
return null;
}
return subTitle(s,start,a.length);
}

public static void main(String[] args)
{
if(args.length!=3)
{
System.out.println("please use: [String s] [int start] [int end]");
}
else
{
System.out.println(new a().subTitle(args[0],Integer.parseInt(args[1]),Integer.parseInt(args[2])));
System.out.println(new a().subTitle(args[0],Integer.parseInt(args[1])));
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: