editText正則表達式的使用 檢查輸入是否符合規則
import Android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; /** * Class which shows how to validate user input with regular expression * * @author FaYnaSoft Labs */ public class Main extends Activity { private EditText editText; private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); editText = (EditText) findViewById(R.id.textId); editText.setText("EditText element"); button = (Button) findViewById(R.id.btnId); button.setText("Check"); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(checkString(editText.getText().toString())) { editText.setText("Corect"); } } }); } /** * This method checks if String is correct * @param s - String which need to check * @return value of matching */ private boolean checkString(String s) { return s.matches("\\w*[.](Java|cpp|class)"); } } --------------------- 作者:swat1985 來源:CSDN 原文:https://blog.csdn.net/swat1985/article/details/83730271 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
正則表達式查找字符 文章分類:移動開發 String s_Result="Distance: 2.8km (about 9 mins)"; //Distance parsing Pattern p = Pattern.compile("Distance: (\\d+(\\.\\d+)?)(.*?)\\b"); Matcher m = p.matcher(s_Result); if(m.find()){ MatchResult mr=m.toMatchResult(); f_Distance=mr.group(1);//2.8 m_DistanceUnit=mr.group(3);//km } //Time parsing p = Pattern.compile("about (\\d+(\\.\\d+)?) (.*)\\b"); m = p.matcher(s_Result); if(m.find()){ MatchResult mr=m.toMatchResult(); f_timeEst=mr.group(1);//9 m_timeEstUnit=mr.group(3);//min } 或者 String s_Result="Distance: 2.8km (about 9 mins)"; Pattern p = Pattern.compile("(\\d+(\\.\\d+)?) ?(\\w+?)\\b"); Matcher m = p.matcher(s_Result); while(m.find()){ MatchResult mr=m.toMatchResult(); String value=mr.group(1);//2.8 and 9 come here String units=mr.group(3);//km and mins come here } 正則表達式以過濾特殊字符 在網上找了好久也沒找到個合適的正則表達式以過濾特殊字符;自己學習了下,寫了兩個,實現要求。 Java 代碼 // 過濾特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允許字母和數字 // String regEx = "[^a-zA-Z0-9]"; // 清除掉所有特殊字符 String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); return m.replaceAll("").trim(); } @Test public void testStringFilter() throws PatternSyntaxException { String str = "*adCVs*34_a _09_b5*[/435^*&城池()^$$&*). {}+.|.)%%*(*.中國}34{45[]12.fd'*&999下面是中文的字符¥……{}【】。,;’“‘”?"; System.out.println(str); System.out.println(StringFilter(str)); } --------------------- 作者:swat1985 來源:CSDN 原文:https://blog.csdn.net/swat1985/article/details/83730271 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!