我这里有一个字符串:
a$20=A.createVar("/LIST/S_UNB/C_S001/D_0001/*var", a$1, this);
现在我想用“/”之前的值替换“”中的字符串。
这里我希望结果是
a$20=A.createVar("*var", a$1, this);
我试图尽可能使用最小的对象,我的正则表达式看起来像这样
\"([^\"]*)\"
这是对的吗?
答案 0 :(得分:0)
假设引号不是表达式的一部分,请使用
[^/]+$
$表示字符串的结尾,这将使它仅返回最后一个'/'之后的值。> p>
答案 1 :(得分:0)
您可以使用此代码:
String s = "a$20=A.createVar(\"/LIST/S_UNB/C_S001/D_0001/*var\", a$1, this);";
// extract text between ""
String sub = s.replaceAll("^[^\"]*\"([^\"]*)\".*$", "$1");
// find last index of /
int i = sub.lastIndexOf('/');
// replace content between "" by token after last /
String repl = s.replaceFirst("\"[^\"]*\"", '"' + sub.substring(i+1) + '"');
//=> a$20=A.createVar("*var", a$1, this);