【问题标题】:Why Colon before space is consider as Space but after Colon it is not Consider in Android为什么在空格之前的冒号被认为是空格但在冒号之后它在Android中不被考虑
【发布时间】:2017-04-05 23:56:58
【问题描述】:

我有一个关于stringstring.xml 文件中空间定义的简单问题。

假设我们定义了字符串

<string name="regNumber">RegNumber : </string>

它将在Colon 之前而不是之后考虑空间。如果我们在Colon 之后放置了空格,那么我们必须定义如下方式。

<string name="regNumber">RegNumber :\u0020</string>

或者我们也这样说

<string name="regNumber">RegNumber :&#160;</string>

问题:为什么在Colon不写任何代码的情况下不考虑空格?

简要说明:

如果这样写

<string name="regNumber">RegNumber : </string>

它会在Colon 之前放置空格,但不会在Colon 之后放置空格

所以文本将是RegNumber :

但我的问题会像这样输出,它不会在Colon 考虑之前考虑。

RegNumber:

【问题讨论】:

  • 我的问题为什么不考虑为 Space 我想设置 Space。 - 因为否则,它会被丢弃。
  • @WiktorStribiżew 我知道当我们写&amp;#160;\u0020 时它会增加空间,但我的问题是为什么在Colon 之后不考虑space 因为在Colon 之前考虑.如果你有明确的想法,现在删除flag
  • 冒号不是空格,并且在它不是前导/尾随空格之前的空格。删除所有前导/尾随空格。
  • @WiktorStribiżew 你不是clear 我的问题。我不是说如何设置,我是说为什么在Colon之后不考虑,但在Colon之前考虑。

标签: android string android-layout


【解决方案1】:

regex 被定义为忽略开头和结尾的空格。它在编译器构建过程的第一阶段定义,称为Lexical analysis

【讨论】:

  • 你的答案对我不起作用 仔细阅读Question
【解决方案2】:

因为默认情况下,android会修剪所有字符串以删除不必要的空格。假设你不小心按了空格键,现在你的字符串文件中有20个空格,

<string name="regNumber">RegNumber :                           </string>

Android 只是修剪前导和尾随空格。我从来没有找到任何背后的原因。但我相信,使用正则表达式验证字符串很有用。 [PS:我可能错了]

另请参阅:Android's documentation on formatting string

【讨论】:

  • 你的答案对我不起作用 仔细阅读Question
猜你喜欢
  • 2021-06-06
  • 1970-01-01
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
  • 2019-09-14
  • 2023-03-08
  • 1970-01-01
相关资源
最近更新 更多