问题标签 [swift-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
271 浏览

ios - 如何在任何特殊字符之前添加额外的空格

如何在 Swift 中的字符串中的任何特殊字符之前添加额外的空格,例如,如果我有字符串

我们如何在 Swift 中解决和实现这一点

0 投票
1 回答
260 浏览

swift - 为什么使用 isEmpty 优于与空字符串文字的比较是 Swift?

String 类型是 Swift 有一个名为的属性isEmpty,它指示字符串是否没有字符。

我想知道使用isEmpty和检查与空字符串文字的相等性之间是否有任何区别。换句话说,有myString.isEmpty什么比myString == ""?

我做了一些研究,发现了以下建议:

  1. Apple 开发人员文档(以及Swift 语言指南)中的字符串结构参考建议使用isEmpty而不是检查字符串的长度:

要检查字符串是否为空,请使用其isEmpty属性而不是将其中一个视图的长度与0. 与 isEmpty 不同,计算视图的 count 属性需要遍历字符串的元素。

  1. Rob Napier 在 StackOverflow 上对与 2015 年略有不同的问题的回答如下:

    空字符串是唯一的空字符串,因此不应出现string.isEmpty()不返回与string == "". 当然,他们可能会在不同的时间和记忆中这样做。它们是否使用不同的时间和内存量是未描述的实现细节,但isEmpty它是检查 Swift 的首选方式(如文档所述)。

  2. 一些博客文章还建议使用isEmpty特别是而不是检查字符串的长度是否为 0。

然而,这些来源都没有说反对与空文字进行比较。

myString.count == 0由于明显的性能和可读性缺陷,避免诸如此类的结构似乎是完全合理的。我也知道它myString.isEmptymyString == "".

不过,我很好奇与空字符串文字的比较是否不好。它真的对内存或性能有任何影响吗?也许现在 Swift 编译器非常聪明,它会为myString.isEmpty和生成相同的二进制代码myString == ""?我的直觉是差异应该可以忽略不计甚至不存在,但我没有证据。

我意识到这不是一个真正的实际问题,但是如果有人可以分享一些见解,这两种替代方案如何在较低级别上工作以及是否存在任何差异,我将不胜感激。谢谢大家。

0 投票
0 回答
21 浏览

swift - 如果与正则表达式相比,为什么在更大的字符串中找不到我的搜索字符串?

我试图在另一个字符串中找到一个子字符串。我正在使用正则表达式。代码如下:

为什么找不到我的子字符串“Kingfisher:”。

0 投票
1 回答
47 浏览

swift - 在字符的变音符号变体之间转换

我将一个字符串作为参数传递给用 swift 编写的命令行工具。

我对某些包含变音符号的字符有疑问。

à á ả ã ạ й ё如果我作为 line 参数传递,在我得到的应用程序内部à á ả ã ạ й ё。它看起来一样,但它不是:

我知道 ASCII 中的变音符号字符可以用不同的方式表示:像单个字符,或者像两个字符的组合:一个字母和一个变音符号。

出于某种原因,命令行工具将第一个变体转换为第二个变体。可能那是因为它仅限于 UTF-8。

我怎样才能把它转换回来?喜欢将许多 unicode-scalars 字符连接成一个字符。

0 投票
1 回答
174 浏览

swift - 在 Swift 中将文本限制为一定数量的单词

在移动应用程序中,我使用的 API 只能处理大约 300 个单词。如何在 Swift 中修剪字符串以使其不包含更多单词?

本机.trimmingCharacters(in: CharacterSet)似乎无法做到这一点,因为它旨在修剪某些字符。

0 投票
2 回答
294 浏览

python - 快速左右移动字符串循环

在 Hackerrank 我遇到了这个问题。我有一个接受 3 个参数的函数。示例 -->

左移:字符串的单次循环旋转,其中第一个字符变为最后一个字符,所有其他字符向左移动一个索引。例如,abcde 左移一次后变为 bcdea,左移两次后变为 cdeab。

Right Shift 字符串的单次循环旋转,其中最后一个字符成为第一个字符,所有其他字符都向右移动。例如,abcde 在一次右移后变为 eabcd,在两次右移后变为 deabc。

我在 python 中做了同样的问题并通过了所有的测试用例

现在我正试图迅速解决同样的问题。我在下面添加了我的解决方案

我是快速编程的新手,我无法解决这个问题。谁能帮我快速解决这个问题?

提前致谢。

0 投票
1 回答
91 浏览

swift - 字符串格式说明符:用于十进制值的舍入规则

String(format:)用来转换一个Float. 我以为这个数字会四舍五入。

有时是的。

有时不是。

在此处输入图像描述

我猜 1.55 不能完全表示为二进制。它变成了 1.549999XXXX

NumberFormatter似乎不会导致同样的问题......为什么?应该优先于它String(format:)吗?

0 投票
0 回答
68 浏览

swift - 用swift替换长字典中的字符

我想替换字典键中的一些字符。字典中有大约十万个键。使用下面的代码,这大约需要一个小时。我们可以通过更改编码来缩短这个时间吗?

例如:

0 投票
1 回答
81 浏览

swift - 使用 swift 查找任何语言的非字母单词

我有一些语言的多个字符串(英语、意大利语、阿拉伯语、法语......等)。我想查看该语言字母表以外的单词列表。

例如英语:

"thisŞĞstring" -> 返回 false

“正确的字符串格式”-> 返回 true

例如阿拉伯语:

"كلمةabc" -> 返回假

“كلمة” -> 返回真

我不想一一输入所有语言的字母表。有没有办法做我想做的事?

0 投票
2 回答
82 浏览

swift - swift string diacriticInsensitive 无法正常工作

我正在对字符串进行变音符号转换。在瑞典语中,它将字母 åäö 转换为 aao。但 iphone 键盘上有 åäö 这些字母。我不明白为什么它转换了这三个字母。我的代码有错误吗?不应该转换键盘上的字母吗?

我的 iPhone 键盘: 在此处输入图像描述