我有一个字符串,我想制作该字符串的一部分(最多3个部分),每个部分将是153.例如,如果字符串是160,那么第一部分将是153,第二部分将是b的7。
public class Split {
public String splitMsg(String s) {
int len=s.length();//300
int parts =(len/153)+1;//3
int startindex=0,endindex=153;
System.out.println(parts);
String[] chunks=new String[parts];
for(int i=0;i<parts;i++) {
if(endindex<len) {
String s1=s.substring(startindex, endindex);
chunks[i]=s1;
System.out.println(chunks[i]);
startindex=endindex+1;
endindex=len-startindex;
}
}
return "";
}
public static void main(String a[]) {
Split s=new Split();
s.splitMsg("TejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejas");
}
}
答案 0 :(得分:0)
试试这个:
String str = "MyLoooooooooooooooooooongString";
int number = 153;
String[] strs = new String[str.length() / number + 1];
int length;
for (int i = 0; i < str.length(); i += number) {
length = i + number;
strs[i / number] = str.substring(i, length > str.length() ? str.length()
: length);
}
System.out.println(Arrays.toString(strs));
答案 1 :(得分:0)
这可能对你有所帮助!您的代码中需要进行轻微修改。
public static void main(String[] args) {
String s="TejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejas";
List list = new ArrayList();
String st = "";
for(int i=1; i<=s.length(); i++){
if(i==1 || i%153==0){
if(i!=1) list.add(st);
st = "";
}
st += s.charAt(i-1);
}
// iterate list to see the parts
for(int i=0; i<list.size(); i++){
System.out.println(list.get(i).toString());
}
}
答案 2 :(得分:0)
public static void main(String[] args) {
String s = "TejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejasTejas";
int sLen = s.length();
System.out.println("sLen=" + sLen);
int maxPartLength = 153;
int partsTotal = (int) Math.ceil(sLen/(double)maxPartLength);
System.out.println("partsTotal=" + partsTotal);
String[] parts = new String[partsTotal];
for (int p = 0; p < partsTotal; p++) {
int strIndex = maxPartLength*p;
int endIndex = strIndex + maxPartLength;
endIndex = endIndex > sLen ? sLen : endIndex;
parts[p] = s.substring(strIndex, endIndex);
System.out.println("part=" + parts[p]);
}
}