标签: zero-width-space

带有特殊字符的零宽度空间

这里有趣的问题,想知道是否有人遇到过它.

我正在构建一个Android应用程序,它有一些特殊字符作为文本(主要是日文字符),我们的设计师需要一些战略性的软回报,因为较小的设备的宽度限制,文本需要包装.

问题是因为文本基本上是日语,所以单词之间没有空格.

我知道我们可以使用\u200b零宽度空间产生这样的字符串:

ABCDEF\u200bghijklmnop

当有足够的空间时,出现这样的情况:

abcdefghijklmnop

如果它需要换行,就像这样:

abcdef
ghijklmnop

问题是,如果不使用标准英文字符,我们使用日语字符似乎不起作用.我们根本没有软线.无论我们把它放在哪里,它总是会在空间不足的地方突破\u200b

ヘルプヘルプ\ u200bヘルプヘルプ

结果是:

ルヘプルヘプルヘプヘ
ルプ

有没有人以前处理过这个问题或有任何关于如何解决这个问题的想法?

android line-breaks textview zero-width-space

8
推荐指数
0
解决办法
581
查看次数

在 Clojure 中修剪不可打印字符的一般方法

我遇到了一个错误,我无法将两个看似“相同”的字符串匹配在一起。例如,以下两个字符串无法匹配:“sample”和“?sample”。

要复制该问题,可以在 Clojure 中运行以下命令。

(= "sample" "?sample") ; returns false
Run Code Online (Sandbox Code Playgroud)

经过一个小时的沮丧调试,我发现第二个字符串前面有一个零宽度的空间!通过退格从这个特定的例子中删除它是微不足道的。但是,我有一个匹配的字符串数据库,似乎有多个字符串面临这个问题。我的问题是:是否有一种通用的方法可以在 Clojure 中修剪零宽度空格?

我试过的一些方法:

(count (clojure.string/trim "?abc")) ; returns 4
Run Code Online (Sandbox Code Playgroud)
(count (clojure.string/replace "?abc" #"\s" "")) ; returns 4
Run Code Online (Sandbox Code Playgroud)

这个线程从 JavaScript 字符串删除零宽度空格字符确实提供了一个在这个例子中工作的正则表达式解决方案,即

(count (clojure.string/replace "?abc" #"[\u200B-\u200D\uFEFF]" "")) ; returns 3
Run Code Online (Sandbox Code Playgroud)

但是,正如帖子本身所述,还有许多其他潜在的 ascii 字符可能是不可见的。所以我仍然很感兴趣,如果有一种更通用的方法不依赖于列出所有可能的不可见 unicode 符号。

string trim clojure string-matching zero-width-space

6
推荐指数
1
解决办法
448
查看次数

来自CSV文件的字符串开头的神秘前导"空"字符

在将CSV文件读入数组的过程中,我注意到第一个数组元素,它是一个字符串,包含一个前导"".

例如:

str = contacts[0][0]
p str
Run Code Online (Sandbox Code Playgroud)

给我...

"SalesRepName"

然后我偶然尝试尝试:

str = contacts[0][0].split(//)
p str
Run Code Online (Sandbox Code Playgroud)

那给了我......

["","S","a","l","e","s","R","e","p","N","a","m"," E"]

我已经检查了数组中的每个其他元素,这是唯一一个包含前导""的字符串.

ruby csv byte-order-mark zero-width-space

3
推荐指数
1
解决办法
743
查看次数

零宽度空间与零宽度非连接器

从实用的角度来看,零宽度空间(U+200B)和零宽度非连接器(U+200C)有什么区别?

我已经阅读了维基百科的文章,但我不明白这些字符是否可以互换。

我认为它们是完全可以互换的,但是我不明白为什么我们在 Unicode 集中有两个而不是一个。

unicode zero-width-space

3
推荐指数
2
解决办法
1565
查看次数

为什么 split 可以在没有分隔符的情况下工作?

我在这里遇到这个公式,为什么分割没有分隔符?

\n
=SPLIT(A2&"\xe2\x80\x8b"&B2, "\xe2\x80\x8b")\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

但不显示这个错误。

\n

在此输入图像描述

\n

split join google-sheets zero-width-space google-sheets-formula

0
推荐指数
1
解决办法
105
查看次数