如何保持空格在string的末尾和/或开头?

我必须从我的资源/值文件连接这两个string:

<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on </string> <string name="Toast_Memory_GameWon_part2"> flips !</string> 

我这样做:

 String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+total_flips+getString(R.string.Toast_Memory_GameWon_part2); Toast.makeText(this, message_all_pairs_found, 1000).show(); 

但是第一个string的末尾和第二个string开头的空格已经消失了(当Toast被显示时)…

我该怎么办 ?

我想这个答案在这里: http : //developer.android.com/reference/java/util/regex/package-descr.html#impnotes

或者是像使用&的“&”字符?

即使使用string格式,有时在string的开头或结尾仍然需要空格。 对于这些情况,既不用\ ,也不xml:space属性转义帮助。 你必须使用HTML实体&#160; 为一个空白。

使用&#160; 为不可破坏的空白。
使用&#032; 定期的空间。

我遇到了同样的问题。 我想在表示屏幕字段名的资源string的末尾留空白。

我在这个问题报告中find了一个解决scheme: https : //github.com/iBotPeaches/Apktool/issues/124

Duessi提出的观点与此相同。 将\u0020直接插入到您希望保留的空白的XML中。

例如:

 <string name="your_id">Score :\u0020</string> 

更换是在编译时完成的,因此不会影响游戏的性能。

这个文档: http : //developer.android.com/guide/topics/resources/string-resource.html

build议引用将工作:

 <string name="my_str_spaces">" Before and after? "</string> 

我只是在strings.xml文件中使用UTF代码作为空间“\ u0020”。

 <string name="some_string">\u0020The name of my string.\u0020\u0020</string> 

很好。 (Android喜欢UTF代码)

如果你真的想这样做,那么我认为你必须告诉它,空格是逃避相关的:

 <string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on\ </string> <string name="Toast_Memory_GameWon_part2">\ flips !</string> 

不过,我会为此使用string格式 。 像下面这样:

 <string name="Toast_Memory_GameWon">you found ALL PAIRS ! on %d flips !</string> 

然后

 String message_all_pairs_found = String.format(getString(R.string.Toast_Memory_GameWon), total_flips); 

与string资源值一起使用“”。

例如:“带空格的值”

要么

使用\ u0020编码空格。

有可能以不同的宽度空间:

 <string name="space_demo">|&#x20;|&#x2009;|&#x200A;||</string> 

| 空间| 薄空间| 头发空间| 没有空间|

可视化:

在这里输入图像描述

这里的所有答案都不适合我。 相反,要在XML中的string末尾添加一个空格,我这样做了

 <string name="more_store">more store<b> </b> </string> 

可以通过编程来添加空间的参数。 由于这些情况会经常用于连接,所以我决定停止这种疯狂行为,只做老+ " " + 。 这些对大多数欧洲语言来说都是有意义的,我会聚集起来。

我不知道Android的具体情况,但这看起来像通常的XML空白处理 – 元素中的前导和尾随空白通常被认为是微不足道的,并被删除。 试试xml:space

 <string name="Toast_Memory_GameWon_part1" xml:space="preserve">you found ALL PAIRS ! on </string> <string name="Toast_Memory_GameWon_part2" xml:space="preserve"> flips !</string> 

它不适用于xml:space =“preserve”

所以我做了最快的方法=>

我只是在需要的地方添加了一个+“”+ …

 String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+" "+total_flips+" "+getString(R.string.Toast_Memory_GameWon_part2);