如何仅遍历我实际看到的字符串中的字符?
How to iterate over only the characters in a string I can actually see?
通常我会使用 str[i]
.
之类的东西
但是如果 str = "☀️"
呢?
str[i]
失败。 for (x of str) console.log(x)
也失败了。它总共打印出 4 个字符,即使字符串中显然只有 2 个表情符号。
遍历我在字符串中看到的每个字符(我猜还有换行符)的最佳方法是什么?
理想的解决方案是 return 2 个字符的数组:2 个表情符号,仅此而已。 声称的重复,以及我的一堆其他解决方案我发现,不符合这个标准。
你需要为星体字符制作自己的方法。
"foobar".match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|./g);
// => ["f", "o", "o", "", "b", "a", "r"]
我最终以这个疯狂的 JS 库的形式找到了答案:
通常我会使用 str[i]
.
但是如果 str = "☀️"
呢?
str[i]
失败。 for (x of str) console.log(x)
也失败了。它总共打印出 4 个字符,即使字符串中显然只有 2 个表情符号。
遍历我在字符串中看到的每个字符(我猜还有换行符)的最佳方法是什么?
理想的解决方案是 return 2 个字符的数组:2 个表情符号,仅此而已。 声称的重复,以及我的一堆其他解决方案我发现,不符合这个标准。
你需要为星体字符制作自己的方法。
"foobar".match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|./g);
// => ["f", "o", "o", "", "b", "a", "r"]
我最终以这个疯狂的 JS 库的形式找到了答案: