我的LogCat输出
01-05 21:04:22.299: D/info(2699): Lenght b = 0
01-05 21:04:22.299: D/info(2699): Lenght Split = 0
01-05 21:04:22.299: D/info(2699): Item = 25.8
01-05 21:04:22.299: D/info(2699): Länge = 4
我的问题:
根据我的理解,Lenght b和Split应为2且b [0] = 25 + b [1] = 8 ...
b [0] + b [1]是空的......
我的代码有什么问题?
的java:
public class ButtonCreateLocationOnClickListener implements OnClickListener {
public void onClick(View v) {
final EditText editTextLocationName = (EditText) formElementsView.findViewById(R.id.editTextLocationName);
if ((editTextLocationName.getText().toString().length() > 0) && (StringDescription.length() > 0))){
String Test = editTextLocationName.getText().toString();
String[] b = Test.split(".");
Log.d("info", "Lenght b = " + b.length);
for (String string : b) {
Log.d("info", string);
}
String[] itemsName = editTextLocationName.getText().toString().split(".");
Log.d("info", "Lenght Split = " + itemsName.length);
Log.d("info", "Item = " + editTextLocationName.getText().toString());
Log.d("info", "Länge = " + editTextLocationName.getText().toString().length());
}
}//onClick
}//OnClickListener
答案 0 :(得分:1)
你需要转义点,否则它会把它解释为它是一个RegularExpression。
将分割线更改为String[] b = Test.split("\\.");
答案 1 :(得分:0)
String.split()
接受正则表达式作为参数。如果你看here,你会发现一个点是正则表达式中的一个特殊字符。
尝试转义它:"45.2".split("\\.")
。