[英]JAVA Array of values need to store in multiple fields based on size
我正在嘗試將此字符串拆分為數組格式,並嘗試根據值的大小存儲在字段 name1,name2.. 中,並且提交的名稱必須只有 26 個字符。
姓名: Bommiraj Sitaramanjaneyulu Rajasekhara Srinivasulu Laxminarayana Siva Venkata Sai
預期結果: name1= Bommiraj Sitaramanjaneyulu ,name2=Rajasekhara srinivasulu,name3=Laxminarayana Siva Venkata,name4=sai,name5=""。
實際結果:名稱字段 1:Bommiraju Rajasekhara Siva,名稱字段 2:Venkata Sai
String Testname=nameFormat(" Bommiraj Sitaramanjaneyulu Rajasekhara Srinivasulu Laxminarayana Siva Venkata Sai ");
String formatedName=name.trim().replaceAll("\\s{2,}", " ");
String[] splitedName = formatedName.split("\\s+");
String name1="";
String name2="";
String name3="";
String name4="";
String name5="";
for (String string : splitedName) {
if (name1.length()==0) {
name1+=string;
}else if (name1.length()>0 && name1.length()<26){
if (string.length()+name1.length()<26) {
name1+=" "+string;
}
}else if (name2.length()==0) {
name2+=string;
}else if (name2.length()>0 && name2.length()<26) {
if (string.length()+name2.length()<26) {
name2+=" "+string;
}
}
}
如果算上名字 Bommiraju Sitaramanjaneyulu 的大小,則有 26 個字符和一個空格。 您的if
語句<26
因此最多只能使用 25 個字符而沒有空格。
更一般地說,我建議將名稱存儲為String[]
並跟蹤您的位置。 在您當前的代碼中,名稱可能會轉到 string2,但較短的較晚名稱可以轉到 string1,我認為這不是您希望做的。 根據您的具體需求,我建議從string[0]
,然后填充它直到當前字符串不適合,然后移到string[1]
並填充它,等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.