gpt4 book ai didi

java - java.util.regex.Pattern.quote(String arg) 的 GWT 替代品是什么

转载 作者:搜寻专家 更新时间:2023-10-31 20:21:11 25 4
gpt4 key购买 nike

在我的应用程序中,我需要如下代码:

string1.replaceAll(string2, myConstatntString)

问题是 string1string2 可以包含特殊符号,例如 '('

我想使用 java.util.regex.Pattern.quote(String arg) 引用 string2:

string1.replaceAll(Pattern.quote(string2), myConstatntString);

但是 java.util.regex.Pattern 在 GWT 客户端不可用。 GWT 是否有任何 Pattern.quote 的替代品?

最佳答案

我相信没有,因为 JavaScript 没有自己的方法。你可以做的是使用 String.replace() 而不是 String.replaceAll(),因为你根本不需要正则表达式。如果这样做,您将不得不编写自己的方法。

这是在 JavaScript 中的实现方式:Is there a RegExp.escape function in Javascript?

Java 是这样实现的:

public static String quote(String s) {
int slashEIndex = s.indexOf("\\E");
if (slashEIndex == -1)
return "\\Q" + s + "\\E";

StringBuilder sb = new StringBuilder(s.length() * 2);
sb.append("\\Q");
slashEIndex = 0;
int current = 0;
while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
sb.append(s.substring(current, slashEIndex));
current = slashEIndex + 2;
sb.append("\\E\\\\E\\Q");
}
sb.append(s.substring(current, s.length()));
sb.append("\\E");
return sb.toString();
}

发件人:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/regex/Pattern.java

(Java 1.5+中的实际实现)

关于java - java.util.regex.Pattern.quote(String arg) 的 GWT 替代品是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com