如何检查editText中是否有空格并以编程方式填充它们
How to check if there are spaces inside editText and fill them programmatically
我想检查字母之间是否有space,如果有则添加space,如果有太多则删除。有没有简单的方法可以做到这一点?
我目前正在检查邮政编码,但是如果没有 spaces,我想添加 spaces,例如M11SS 使其成为 M1 1SS 并删除开始 spaces 和结束 spaces
if (a.isEmpty(txtJobPostcode)) {
Toast.makeText(getContext(), "Please enter a postcode", Toast.LENGTH_LONG).show();
return;
}
if(txtJobPostcode.getText().toString().matches("^[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}$")){
Log.d("NOTICE", String.valueOf(txtJobPostcode));
}
else {
Toast.makeText(getContext(), "Please enter a valid postcode", Toast.LENGTH_LONG).show();
return;
}
尝试考虑:TextWatcher
class in Android sdk.
您可以通过 link:
找到文档
https://developer.android.com/reference/android/text/TextWatcher
您也可以尝试一些库(开箱即用的解决方案)以节省您的时间:
String myString = txtJobPostcode.getText().toString().trim() - 将删除开头和结尾 spaces。
然后,如果您确定 space 需要在哪里,您可以检查该特定位置的字母,如果它不等于“”,然后使用 StringBuilder 替换字母,即
String letter = myString.substring(1,2)
if (!letter.equals(" ")) {
StringBuilder sb = new StringBuilder(myString);
sb.insert(1, " ")
myString = sb.toString()
}
我想检查字母之间是否有space,如果有则添加space,如果有太多则删除。有没有简单的方法可以做到这一点?
我目前正在检查邮政编码,但是如果没有 spaces,我想添加 spaces,例如M11SS 使其成为 M1 1SS 并删除开始 spaces 和结束 spaces
if (a.isEmpty(txtJobPostcode)) {
Toast.makeText(getContext(), "Please enter a postcode", Toast.LENGTH_LONG).show();
return;
}
if(txtJobPostcode.getText().toString().matches("^[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}$")){
Log.d("NOTICE", String.valueOf(txtJobPostcode));
}
else {
Toast.makeText(getContext(), "Please enter a valid postcode", Toast.LENGTH_LONG).show();
return;
}
尝试考虑:TextWatcher
class in Android sdk.
您可以通过 link:
找到文档https://developer.android.com/reference/android/text/TextWatcher
您也可以尝试一些库(开箱即用的解决方案)以节省您的时间:
String myString = txtJobPostcode.getText().toString().trim() - 将删除开头和结尾 spaces。 然后,如果您确定 space 需要在哪里,您可以检查该特定位置的字母,如果它不等于“”,然后使用 StringBuilder 替换字母,即
String letter = myString.substring(1,2)
if (!letter.equals(" ")) {
StringBuilder sb = new StringBuilder(myString);
sb.insert(1, " ")
myString = sb.toString()
}