gpt4 book ai didi

java - 首先转义 = 属性文件的映射 (ATG/Java)

转载 作者:行者123 更新时间:2023-12-02 12:38:11 40 4
gpt4 key购买 nike

你们(ATG/Java)是否遇到过在属性文件的映射中转义第一个“=”?

我的属性文件中有一张 map ,如下所示:

elementToPropertyMap=\
./Name/Value[@locale\='en']=displayName

在这里,我想要的第一个相等应该忽略,即

Key = ./Name/Value[@locale\='en'] and value = displayName

我尝试了这些变体,但没有得到所需的输出。

1 ./Name/Value[@locale\='en']=displayName           ./Name/Value[@locale\
2 ./Name/Value[@locale\\='en']=displayName ./Name/Value[@locale\\
3 ./Name/Value[@locale//='en']=displayName ./Name/Value[@locale//
4 ./Name/Value[@locale\=\'en']=displayName ./Name/Value[@locale\
5 ./Name/Value[@locale\\=\\'en']=displayName ./Name/Value[@locale\\
6 ./Name/Value[@locale/\=/\'en']=displayName ./Name/Value[@locale/\
7 ./Name/Value[@locale\u003d'en']=displayName ./Name/Value[@locale\u003d'en']

是的,我们可以将 {0} 替换为“'=”,或者在属性中使用 unicode 并转换其值。

但想知道是否有默认的方式来逃避第一个等于。

谢谢

最佳答案

为什么不尝试一下 - 反过来呢?我选择了 = 之前有一个反斜杠的键。这样就变成了 \\

Properties properties = new Properties();
properties.setProperty("./Name/Value[@locale\\='en']", "displayName");
properties.setProperty("./Name/Value[@locale='en']", "displayName");
properties.store(Files.newOutputStream(Paths.get("test.properties")), "Test");

给出一个test.properties:

#Test
#Wed Jul 12 14:48:19 CEST 2017
./Name/Value[@locale\\\='en']=displayName
./Name/Value[@locale\='en']=displayName

解释是 = 和反斜杠本身作为键的一部分必须被转义。 (另外 : 也需要转义。)所以需要两个额外的反斜杠。

\u003d 与等号完全相同,没有任何作用。

关于java - 首先转义 = 属性文件的映射 (ATG/Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057963/

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