java - 我该如何更换这个?

标签 java android

如何替换这个

String str = "KMMH12DE1433";
String pattern = "^[a-z]{2}([0-9]{2})[a-z]{1,2}([0-9]{4})$";
String str2 = str.replaceAll(pattern, "repl");
Log.e("Founded_words2",str2);

我得到的是:KMMH12DE1433

我想要的是:MH12DE1433

最佳答案

使用正确的 java.util.regex.Patternjava.util.regex.Matcher 尝试这样的操作:

    String str = "KMMH12DE1433";
    //Make the pattern, case-insensitive using (?i)
    Pattern pattern = Pattern.compile("(?i)[a-z]{2}([0-9]{2})[a-z]{1,2}([0-9]{4})");
    //Create the Matcher
    Matcher m = pattern.matcher(str);
    //Check if we find anything
    if(m.find()) {
        //Use what you found - with proper capturing groups you 
        //gain access to parts of your pattern as needed 
        System.out.println("Found this: " + m.group());
    }

关于java - 我该如何更换这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49127205/

相关文章:

android - 使用集群时如何禁用android map 标记点击自动居中?

android - Android 是否使用自定义窗口系统?

java - QueryDSL:如何从 PathMetadata 对象获取参数

java - 与虚拟机的套接字连接

java - 挂断来电

android - 无法在 Android Studio 中解析符号 HttpGet、HttpClient、DefaultHttpClient

java - 如何在吗啡中进行聚合?

java - 使用 PCL 将 XML 打印为 PDF

java - startsWith endsWith 匹配包含正则表达式

Android 连接到远程 mysql 数据库 JDBC 与 JSON