Android 撇号前面没有\
我在android应用程序中定义了一个字符串:Android 撇号前面没有\,android,xml-parsing,Android,Xml Parsing,我在android应用程序中定义了一个字符串: “{string}”出现{times} 这就产生了错误:撇号前面没有\(在{string}中,{times}出现) 我尝试了很多方法来解决这个问题: <string name="search_occurs">\'{string}\' occurs {times}</string> <string name="search_occurs">'{string}' occurs {t
“{string}”出现{times}
这就产生了错误:撇号前面没有\(在{string}中,{times}出现)
我尝试了很多方法来解决这个问题:
<string name="search_occurs">\'{string}\' occurs {times}</string>
<string name="search_occurs">'{string}' occurs {times}</string>
<string name="search_occurs"><![CDATA['{string}' occurs {times}]]></string>
<string name="search_occurs"><![CDATA[\'{string}\' occurs {times}]]></string>
\{string}\'出现{times}
&载脂蛋白;{string}&apos;发生{次}
我无法摆脱这个错误。我遗漏了什么?为什么不用替换字符串提供
“
你也知道这样的构造吗
<string name="profile_age_range_text_between">between %1$d and %2$d</string>
<string name="unit_height_inches">%1$d\'%2$d ft</string>
<string name="unit_distance_miles">%s mi</string>
介于%1$d和%2$d之间
%1$d\'%2$d英尺
%s mi
这两种方法都应根据以下条件工作:
\{string}\'出现{times}
“{string}”出现{times}”
只需将\before'放在字符串中即可
这是假的
这是真的:)回答
替换“by\”有一个通用的解决方案,您必须将文本复制到word编辑器(如Notepad++)中,然后使用程序中的“replace”选项将整个“s”替换为\。
(因为我没有足够的声誉,我不得不在回答中写下它,对不起!)这个错误是由字符串中使用的撇号引起的
将撇号替换为“仅此而已”我根据我的场景得到了解决方案
注意:仅复制内部()文本请确保您正在编辑正确的文件。如上所述,当您收到错误时,Android Studio会打开一个
values.xml
文件,该文件看起来与您的原始文件类似。您必须将\
添加到原始strings.xml
文件中(或任何有问题的字符所在的位置)。否则它只会不断重复错误。\'
对我很有效。刚刚在Eclipse中尝试过。在我在撇号前面添加了反斜杠之后,有必要清理整个Eclipse项目,以停止抱怨错误。第一个对我有效,而不是测试第二个。这两项工作都应该做得很好,而且在这两种情况下,android studio在构建之前都会修剪引号和反斜杠,而且它会将\u0027转换为单引号,然后显示错误。有没有更干净的方法可以做到这一点?我正在将我的应用程序本地化为法语,我的字符串文件夹包含大量文本。所以通读所有的文本并加上反斜杠显然不是最好的主意。不,这是唯一的办法。@the_Martian我也有同样的问题,你有没有找到一种不同于建议的方法?
<string name="search_occurs">\'{string}\' occurs {times}</string>
<string name="search_occurs">"'{string}' occurs {times}"</string>