基本上我需要检查Unexpected number of columns in input record at line 14. Expected 14 columns, processed 6 columns out of 6.
是否包含2个索引。
基于我的谷歌搜索,我发现我可以使用String
|| part[0].length() > 0
但是没有任何事情可以帮助我。
我的代码:
part[0] != null
但是String[] parts = datareceived.split("&");
if(!(parts[0].length()>0) && parts[0] == null){
out.print("String is null");
return;
}
if(!(parts[1].length()>0) && parts[1] == null){
out.print("String is null");
return;
}
我在这里得到的例外情况是:
java.lang.ArrayIndexOutOfBoundsException:1 at pack.reg.pack.serv.doPost(serv.java:10) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
提前致谢!
答案 0 :(得分:1)
基本上我需要检查String是否包含2个索引
如果您使用的是split()
,则会返回一个数组,您可以使用.length
来检查返回的令牌的大小:
if(parts.length >= 2)
但是,如果第二个索引是空的那就不行了,对吗?
如果您害怕获得空字符串,可以先trim()
字符串:
String[] parts = datareceived.trim().split("&");
答案 1 :(得分:0)
这意味着拆分返回一个字符串数组,其大小为1.这就是为什么你得到java.lang.ArrayIndexOutOfBoundsException
如果要检查数组大小是否为2,可以执行以下操作
part.length >= 2
// write your logic here
答案 2 :(得分:0)
如果您在致电ArrayIndexOutOfBoundsException
时获得parts[1]
,但在致电parts[0]
时未获得parts.length == 1
,我们可以得出结论datareceived
。因此,由于索引从0开始,索引0包含整个字符串,并且拆分数组(和up)中的索引1不存在。
- >发现问题:您的&
不包含datareceived
,因此无法在任何地方拆分。
解决方案:希望我能正确理解你的问题(检查字符串String datareceived = "01234";
int index1 = 2;
int index2 = 5;
if (datareceived.length() > index1) {
//the string has a value at index1. With the given example, this if-query would be true.
}
if (datareceived.length() > index2) {
//the string has a value at index2. With the given example, this if-query would be false.
}
是否包含某些索引的值),我写了一段应该有用的代码。
.split
使用String.split("expression")
时的旁注:
我发现,当使用.
时,"表达式" part可以包含正则表达式(正则表达式)。因此,如果您使用任何有效的正则表达式符号(例如$
或.
),它将无效(至少,不一定)。例如,在正则表达式中,String s = "a,b";
String[] strings = s.split(",");
for (String str : strings) {
System.out.println(str + "_");
}
//will print out "a_b_"
表示"任何字符",它基本上会为您提供一个空数组。
(注意:我没有正则表达式专家,但"&"似乎不是一个有效的正则表达式)
示例:
String s = "a.b";
String[] strings = s.split(".");
//"strings" is an empty array, since "a", ".", and "b" are "any character".
示例(不按预期工作):
.split(".")
解决方案:
而不是.split("\\.")
,请使用<div class="slider-box">
<h5>Entfernung</h5>
<ion-slider type="double"
grid="true"
min="0"
max="800"
step="50"
from="{{ distance.from }}"
to="{{ distance.to }}"
postfix="Meter"
disable="false">
</ion-slider>
</div>