Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何向XPath中添加多个参数并将%s替换为param_Java_String_Selenium_Xpath_String Formatting - Fatal编程技术网

Java 如何向XPath中添加多个参数并将%s替换为param

Java 如何向XPath中添加多个参数并将%s替换为param,java,string,selenium,xpath,string-formatting,Java,String,Selenium,Xpath,String Formatting,我有一个字符串(例如): 变量param可以从1=>n增加(param1、param2、param3….paramN) 我想构建一个函数,将多个参数添加到xpath中,我必须使用Java中的字符串格式将多个值放入xpath中,并且不知道如何将param替换为%s并使用字符串格式将多个参数放入xpath中 如何将replace param生成为%s的函数 非常感谢。您可以在中替换不同的变量,如下所示: 代码块: String str1 = "stringA"; String

我有一个字符串(例如):

变量param可以从1=>n增加(param1、param2、param3….paramN)

我想构建一个函数,将多个参数添加到xpath中,我必须使用Java中的字符串格式将多个值放入xpath中,并且不知道如何将param替换为%s并使用字符串格式将多个参数放入xpath中

如何将replace param生成为%s的函数


非常感谢。

您可以在中替换不同的变量,如下所示:

  • 代码块:

    String str1 = "stringA";
    String str2 = "stringB";
    String str3 = "stringC";
    System.out.println("//tagname[text()='" +str1+ "']/tagname[text()='" +str2+ "']/tagname[text()='" +str3+ "']");
    
  • 控制台输出:

    //tagname[text()='stringA']/tagname[text()='stringB']/tagname[text()='stringC']
    
假设xpath是“//tagname[text()='param']/tagname[text()='param']/tagname[text()='param']”,而param是需要替换的模式

public static String replaceValue(String xpath , String...params){
    for(String replacement : params){
        xpath = xpath.replaceFirst("param",replacement);
    }
    return xpath;
}

您还可以使用正则表达式模式,而不是xpath中的'param'关键字。

String.format(“Hello%s the%s”,“from”,“other”,“side”)字符串名称=“sonoo”;String sf1=String.format(“名称为%s”,名称)//姓名是sonoohi@Tanuj Vishnoi,谢谢您的建议。我使用replaceAll和regex将case change paramN改为%s,我的代码:但是,我面临字符串格式,因为在处理上述步骤后无法更改值。我需要一段代码来检查确切的问题。但是我确实对代码repl.it/repls/戏剧性的CookeDactiveMoviehi“Tanuj Vishnoi,如果我使用字符串格式将值放入%s中会怎么样?非常感谢您帮助我@Tanuj Vishnoi,如果我有10个以上的参数,例如'param1''pram2''param3''pram4''pram5''param6''param7''param8''param9''param10''param11'param100'那我该怎么处理呢?@MichealNguyen还有许多其他不同的方法。我只是用最简单的方法回答。问题是你想以何种方式处理它?你能就你的新要求提出一个新问题吗?@MichealNguyen很高兴能帮助你!!!如果我的答案符合您的问题,请单击我答案旁边的空心复选标记(位于votedown箭头的正下方),使复选标记变为绿色。Hi@DebanjanB:非常感谢您的回答。但我必须面对如何更改paramN=>%s以及如何使用字符串格式按顺序更改值。我有理由更改paramN=>%s,但我不知道如何使用字符串格式更改值顺序。请访问我的链接
public static String replaceValue(String xpath , String...params){
    for(String replacement : params){
        xpath = xpath.replaceFirst("param",replacement);
    }
    return xpath;
}