繁体   English   中英

Java RegEx替换

[英]Java RegEx Replacement

我试图输入一个包含单个*字符的字符串,然后输入第二个String。 *将被第二个字符串替换。

由于private static String first不能放在public static void main(String[] args) {} ,我该如何替换将第二个String放在第一个String中?

import java.lang.String;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Main {
    private static String a = "*";
    private static String first = first;
    System.out.println("Enter the first String: ");
    String first = scan.nextLine();
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the first String: ");
        String first = scan.nextLine();


        //Second
        System.out.println("Enter the replacement String: ");
        String second = scan.nextLine();
        Pattern p = Pattern.compile(a);
        Matcher m = p.matcher(first);
        first = m.replaceAll(second);
        System.out.println(first);

您无需在这里使用模式和匹配器,只需使用普通的String#replaceAll方法,即可在javadocs上阅读有关它的信息 ,如下所示:

String a = "\\*";
first = first.replaceAll(a, second);

您只需要转义*号,因为它用作正则表达式。

为了清楚起见,您可以在main方法之外声明并初始化变量,但要使用预定义的值。 如果需要通过用户输入初始化变量,则必须将初始化移到方法的主体中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM