从字符串中删除最后一个字符。斯威夫特语言

2024-02-13

如何使用 Swift 从 String 变量中删除最后一个字符?在文档中找不到它。

这是完整的示例:

var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)

斯威夫特 4.0(也是斯威夫特 5.0)

var str = "Hello, World"                           // "Hello, World"
str.dropLast()                                     // "Hello, Worl" (non-modifying)
str                                                // "Hello, World"
String(str.dropLast())                             // "Hello, Worl"

str.remove(at: str.index(before: str.endIndex))    // "d"
str                                                // "Hello, Worl" (modifying)

斯威夫特3.0

API 变得更多了一些swifty,因此基金会扩展发生了一些变化:

var name: String = "Dolphin"
var truncated = name.substring(to: name.index(before: name.endIndex))
print(name)      // "Dolphin"
print(truncated) // "Dolphi"

或者就地版本:

var name: String = "Dolphin"
name.remove(at: name.index(before: name.endIndex))
print(name)      // "Dolphi"

谢谢兹梅,罗布·艾伦!

Swift 2.0+ 方式

有几种方法可以实现此目的:

通过 Foundation 扩展,尽管不是 Swift 库的一部分:

var name: String = "Dolphin"
var truncated = name.substringToIndex(name.endIndex.predecessor())
print(name)      // "Dolphin"
print(truncated) // "Dolphi"

使用removeRange()方法(其中alters the name):

var name: String = "Dolphin"    
name.removeAtIndex(name.endIndex.predecessor())
print(name) // "Dolphi"

使用dropLast()功能:

var name: String = "Dolphin"
var truncated = String(name.characters.dropLast())
print(name)      // "Dolphin"
print(truncated) // "Dolphi"

旧的 String.Index (Xcode 6 Beta 4 +) 方式

Since StringSwift 中的类型旨在提供出色的 UTF-8 支持,您不能再使用访问字符索引/范围/子字符串Int类型。相反,你使用String.Index:

let name: String = "Dolphin"
let stringLength = count(name) // Since swift1.2 `countElements` became `count`
let substringIndex = stringLength - 1
name.substringToIndex(advance(name.startIndex, substringIndex)) // "Dolphi"

或者(对于更实用但教育性较低的示例)您可以使用endIndex:

let name: String = "Dolphin"
name.substringToIndex(name.endIndex.predecessor()) // "Dolphi"

Note:我发现this https://stackoverflow.com/a/24056932/88111成为理解的一个很好的起点String.Index

旧的(Beta 4 之前)方式

您可以简单地使用substringToIndex()函数,提供它的长度小于String:

let name: String = "Dolphin"
name.substringToIndex(countElements(name) - 1) // "Dolphi"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字符串中删除最后一个字符。斯威夫特语言 的相关文章

  • 如何在 R 中将字符串解析为层次结构或树

    有没有办法将表示组的字符串解析为 R 中的层次结构 假设我的小组结构如下 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 3 1 1 3 1 1 1 3 2 1 1 3 3 1 2 1 2 1 1 2 1 1 1 2 1 2 1
  • 在 swift 中将简单字符串转换为 JSON 字符串

    我知道有一个同标题的问题here https stackoverflow com questions 30825755 convert string to json string in swift 但在那个问题中 他试图将字典转换为 JSO
  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • Xcode 10 Beta 5 — clang:错误:链接器命令失败,退出代码为 1

    有人可以帮我吗 我的项目一切正常 但更新到 Xcode10 Beta5 后 尝试在 iPhone 上运行该应用程序时出现此错误 然而模拟器可以工作 请帮助我 我已经对这个问题进行了网络搜索并发现this https stackoverflo
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • strtok - 如何避免换行并放入字符串数组?

    如果我欺骗了主题 我真的很抱歉 我在这里搜索但没有结果 我有代码 void split char str char splitstr char p char splitbuf 32 int i 0 p strtok str while p
  • 所需框架与静态库

    构建现代框架 https developer apple com videos play wwdc2014 416 says 每个应用程序都有自己的自定义框架副本 https stackoverflow com a 15262463 242
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • 如何处理最终字符串?

    制作有什么好处吗String as final或者我们可以做String as final 我的理解是 由于 String 是不可变的 因此没有必要将其设为最终的 这是正确的还是人们想要的情况String as Final Code pri
  • iOS 13 beta 外部屏幕上的 OverscanCompensation

    我正在测试一个应用程序的测试版 但遇到了外部屏幕的问题 我们看到应用程序周围有黑色边框 我们之前可以通过设置来纠正它overscanCompensation to none但在 iOS 13 中 该设置根本没有任何效果 我们曾经看到一个错误
  • 我可以/如何用 RC3 替换我的 KVO 东西?

    我正在尝试将一个使用 Facebook 的 KVOController 的 objc 应用程序移植到 Swift 我被鼓励去看看RC3 https github com ReactiveCocoa ReactiveCocoa作为一种替代且更
  • 列表不符合 Encodable

    因此 我正在使用领域 并且两个模型之间有以下关系 A unit has many tests Unit model class Unit Object Decodable objc dynamic var id String let tes
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso

随机推荐

  • 尝试播放音频 (.wav) 文件时没有声音

    我有一个非常简单的类 可以使用以下代码播放声音文件 import java io File import java io IOException import javax sound sampled AudioSystem import j
  • Vuetify 数据表不显示数据

    Vuetify 数据表不显示数据 显示显示了 1 行中的 1 行 但表体为空 我的组件代码
  • 从子表单更改父表单属性的正确方法是什么?

    我只是想知道我是否以正确的方式这样做 我有两个表单 一个父表单和一个子表单 选项对话框 要从子表单更改父表单中的属性 我使用如下代码 Create an array of all rich textboxes on the parent f
  • 部署时捆绑器错误

    我目前正在使用guard 即guard coffeescript gem 在我的OSX 开发系统上编译我的javascript 将来我可能会添加更多的guard 任务 我添加了rb fseventgem 到我的 Gemspec 现在我看到在
  • 我应该在临时/生产环境中使用 PHPUnit 吗?

    我已经安装了 PHPUnit 框架来执行单元测试 我已经编写了测试用例 并且还使用了现有的 PHPUnit 库进行测试 是否需要在临时和生产环境中配置 PHPUnit 框架 如果是这样 phpunit 测试框架和相关文件会在暂存和生产中占用
  • Angular2 ng-bootstrap:使用不同的数据重用模态模板

    我正在构建一个类似仪表板的界面 其中包含一组包含可比数据的实体 这些实体中的每一个都有一个编辑按钮 我想用它来打开一个显示相应数据的模式 我想重用相同的模式模板 并显示来自单击编辑按钮的实体的数据 我在用Angular2 with ng 引
  • 检查 Java 中的内存布局

    我正在尝试继承 出于教育目的 我想检查为各种对象分配的地址以及对象内的字段 有没有一个工具可以让我查看 JVM 正在使用哪些内存以及它的用途 例如 如果我有两个课程 class A int i j int f class B extends
  • 在 cap 部署时预编译资产时收到“警告:已初始化常量”

    目前 我在通过 capistrano 进行生产部署时遇到了关于部署 资产 预编译的奇怪警告消息 当我第一次部署演示 Rails 项目时运行 cap 生产部署时 收到以下警告消息 并且部署失败 cap 中止
  • 如何通过创建React应用程序启用JIT(即时模式)?

    我尝试自己在 create react app 中设置 JIT 但它似乎不起作用 因为样式没有更新 我正在使用 craco 来构建带有 tailwind css 的应用程序 并且还添加了 TAILWIND mode WATCH 因为他们建议
  • 如何自动装配 Spring 环境对象

    我正在尝试从应用程序对象内的 properties 文件获取属性 我对如何做到这一点的唯一了解是通过Environment object 它在我的配置中运行得很好 Configuration ComponentScan basePackag
  • 使用基于 Spark 数据集的 ML API 时初始化逻辑回归系数?

    默认情况下 逻辑回归训练将系数初始化为全零 但是 我想自己初始化系数 这将很有用 例如 如果之前的训练运行在几次迭代后崩溃了 我可以简单地使用最后一组已知的系数重新开始训练 这对于任何基于数据集 数据帧的 API 最好是 Scala 是否可
  • div 真的可以覆盖布局上所有内容的 table 吗?

    也许已经有一个关于这个主题的问题 但我找不到它 我的问题很简单 我可以在页面布局上仅使用 div 吗 例如 我在创建一个带有角的 div 时遇到了麻烦 A B C D E F G H I 将所有字母作为带有一些背景的div 而字母E是放置内
  • Kubernetes:获取容器内的实际资源限制

    有没有办法获取容器内的实际资源 CPU 和内存 约束 假设节点有 4 个核心 但我的容器通过资源请求 限制仅配置了 1 个核心 因此它实际上使用 1 个核心 但它仍然从 proc cpuinfo 看到 4 个核心 我想根据应用程序实际可以使
  • 查询线程(不是进程)处理器关联性?

    在 Windows 上 您可以为进程调用 SetProcessAffinityMask 为线程调用 SetThreadAffinityMask 然而 Windows 似乎只公开 GetProcessAffinityMask 而不是针对进程的
  • 部署到 OS X 10.6 和“使用旧版运行时的平台不支持 -fobj-arc”

    背景 我正在为 OS X 构建一个应用程序 部署目标为 10 6 我还没有将我的应用程序完全转换为 ARC 但我添加了一些将从 ARC 中受益的新类 因此我设置了 fobj arc这些类的编译器标志 编译失败通用 32 64 位英特尔架构
  • 更改 scanf() 分隔符

    我的目标是改变分隔符scanf to n 我尝试使用scanf n s sen 并且对于单一输入工作得很好 但是当我将同一条线放入for循环多个句子它给了我垃圾值 有谁知道为什么 这是我的代码 char sen 20 for i 0 i l
  • 如何在laravel上使用dd()而不停止程序

    我正在用 laravel 构建一个网站 我想调试我的程序 但很难使用 dd 因为它会立即停止程序 我想让它每次执行时逐行显示 知道吗 任何帮助将不胜感激 谢谢 在不输出到页面的情况下获取结果的另一种方法 有时对生产很有用 是将其记录到文件中
  • Spring Data Rest:如何通过另一个对象的键进行搜索?

    在 Spring Data Rest 中 对象的 ID 是随对象返回的 URI 例如 如果我有一个用户 它可能有一个如下 URI http example com users 1 在真实的 REST api 中 此 URI 是对象的 id
  • 使用 ElementTree 修改 XML

  • 从字符串中删除最后一个字符。斯威夫特语言

    如何使用 Swift 从 String 变量中删除最后一个字符 在文档中找不到它 这是完整的示例 var expression 45 22 expression expression substringToIndex countElemen