首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过破折号拆分字符串并删除外部空格?

通过破折号拆分字符串并删除外部空格的方法可以使用字符串的split()函数和strip()函数来实现。

首先,使用split()函数将字符串按破折号进行拆分,得到一个字符串列表。然后,遍历列表中的每个字符串,使用strip()函数去除字符串两端的空格。最后,将处理后的字符串列表重新拼接成一个新的字符串。

以下是一个示例代码:

代码语言:txt
复制
def split_string(string):
    # 使用split()函数拆分字符串
    string_list = string.split('-')
    
    # 遍历字符串列表,使用strip()函数去除空格
    for i in range(len(string_list)):
        string_list[i] = string_list[i].strip()
    
    # 将处理后的字符串列表重新拼接成字符串
    new_string = ''.join(string_list)
    
    return new_string

使用示例:

代码语言:txt
复制
string = "  abc - def - ghi  "
new_string = split_string(string)
print(new_string)  # 输出:abcdefghi

这个方法可以通过破折号拆分字符串,并删除外部空格,返回一个新的字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#如何删除字符串中任何位置的空格?

C#如何删除字符串中任何位置的空格? —— 新手编程1001问之C#编程基础 ---- 你或许知道你能使用String.Trim()方法,去除字符串的头和尾的空格。...不幸运的是,这个Trim方法不能去除字符串中间的C#空格。 事实上,C#提供了多种方法清除字符串中的空格,我们分述如下。 首先,我们最容易想到的当然是Trim()方法,示例代码如下: ?...的确,Trim() 方法只能去除字符串首尾的空格。 上面代码运行的结果显示为:aa a 那么,我们如何去掉字符串中间的空格呢?...我们可能想到的算法是:以空格为分隔符,将原字符串转换为数组,再遍历数组并且重新拼接为一个新的字符串。理论上,这是没有问题的。示例代码如下: ?...还有一种情况,如果我们需要操作的对象不是一个简短的字符串,而是一个长文本,其中可能包含回车、tab以及空行等等,都需要一并清除,怎么办?

11.8K40

如何处理Shell脚本中的特殊字符

假设我们有一个变量 整体取HOME变量的值 使用空格作为分隔符将字符串拆分为字段 将每个以空格分隔的字段视为一个可以由 shell 扩展的 glob 在我们的例子中,我们对字符串 上下文感兴趣——变量周围的双引号产生一个字符串...幸运的是,我们可以通过在包含破折号或加号前缀的文件名前使用双破折号 (–) 来解决此问题。它指示命令选项的结尾,以便后续参数将被视为文件名: #!...但是,当我们将此字符串提供给读取命令时,它会删除那些出现在换行符和前导空格旁边的反斜杠。 4.2. -r选项_ 如果我们想覆盖读取的默认行为并保留反斜杠怎么办?...默认情况下, IFS变量包含可用于拆分字符串的分隔符或定界符。...通过清空IFS变量,我们可以按原样读取行,因为没有分隔符可用于拆分字符串: ... printf "%s\n" "$kiss" | while IFS= read -r line; do ...

7.9K30
  • 【Day18】LeetCode算法刷题

    重新格式化电话号码 题目描述: 给你一个字符串形式的电话号码 number 。number 由数字、空格 ' '、和破折号 '-' 组成。 请你按下述方式重新格式化电话号码。...首先,删除 所有的空格和破折号。 其次,将数组从左到右 每3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块: 2 个数字:单个含 2 个数字的块。...,空格“ ”与破折号“-”,然后再给字符串的数字分组。...需要删除多余的元素,就需要遍历字符串中的每一个数字,为此我们可以先获取字符串的长度,再使用charAt()方法遍历每个数字,当遇到空格或者破折号就忽略掉,其余的数字就存放进集合中,为接下来的分组做准备。...,再将每个数字与自己相乘,一并累加起来,就得到了平方和。

    47920

    linux下卸载软件命令行,如何使用Linux中的命令行卸载软件 | MOS86「建议收藏」

    您可以使用Ubuntu软件中心从标准Ubuntu软件仓库外部或通过编译源代码安装来自标准Ubuntu软件仓库的软件。但是,如果你需要卸载程序怎么办?...dpkg –list NOTE:“列表”前面有两个破折号。 通过“终端”窗口中的安装包列表查找要卸载的包。注意包的全名。...例如,以下命令卸载gimp并删除所有配置文件,使用“–purge”(在“purge”之前有两个破折号)命令。...sudo apt-get autoremove 您可以组合两个命令来删除程序,并删除不再使用的依赖关系,如下所示(再次,两次破折号 sudo apt-get purge –auto-remove gimp...如果空格不足,可以使用“clean”命令删除下载的归档文件,如下所示。

    4K20

    图解LeetCode——1694. 重新格式化电话号码(难度:简单)

    一、题目 给你一个字符串形式的电话号码 number 。number 由数字、空格 ' '、和破折号 '-' 组成。 请你按下述方式重新格式化电话号码。 首先:删除 所有的空格和破折号。...三、解题思路 3.1> 思路1:先去掉空格和破折号,再拼装结果 步骤一:根据题意,我们可以先利用replaceAll(...)方法去掉number字符串中的空格和破折号。...步骤二:然后,如果它的长度大于4,我们每次获取number中的3个字符,拼装新的结果字符串,其中用破折号进行分割,每次循环,我们都会将number的总长度减去3,这样,当最终总长度不满足大于4的时候,跳出...具体实现,请参见 4.1> 实现1:先去掉空格和破折号,再拼装结果 3.2> 思路2:遍历每个字符的同时进行结果拼装 步骤一:我们也可以先通过调用chatAt(...)的方法,遍历number字符串中的每个字符...那么,每当拼装了3个数字字符的时候,我们就在其末尾加上破折号,以此类推,直到遍历完number字符串中的所有字符。

    26611

    Python|Google Python样式指南(3)

    (3)不包含空格的长字符串模块级常量,不便跨行拆分,如URL或路径名。 (4)Pylint禁用注释。(例如:#pylint:disable=无效名称) 3.3 括号 谨慎使用括号。...一个函数必须要有文档字符串, 除非它满足以下条件: (1)外部不可见 (2)非常短小 (3)简单明了 文档字符串应该包含函数做什么,以及输入和输出的详细描述.通常,不描述"怎么做",除非是一些复杂的算法...避免使用+和+=运算符在循环中累积字符串。由于字符串是不可变的,这将创建不必要的临时对象,并导致二次而不是线性的运行时间。...TODO注释应该在所有开头处包含”TODO”字符串,之后用括号括起来的你的名字,email地址或其它标识符.然后是一个可选的冒号.接着必须有一行注释,解释要做什么.主目的是要有一个一致的TODO格式,可以搜索该格式以了解如何获取更多详细信息...特别是,不要使用项目外部读者不清楚或不熟悉的缩写,也不要通过删除单词中的字母来缩写。 始终使用.py文件扩展名。切勿使用破折号。

    83932

    Bash中$$ $! $# $0 $? $* $@ 等各种符号的含义

    在执行该操作的上下文中,这些单词会被进一步地单词拆分和文件名扩展。当在双引号中展开时,它将扩展为单个单词,每个参数的值由特殊变量 IFS 的第一个字符分隔。也就是说,$* 等价于$1c$2c......如果未设置 IFS,参数之间用空格分隔。如果 IFS 为 null,则连接参数时不插入分隔符。 $@ 扩展为从位置1开始的位置参数。作用跟 $* 类似,只是不受 IFS 变量值的影响。...stackoverflow question 5163144 https://www.gnu.org/software/bash/manual/bash.html#Variable-Index 相关阅读: 如何通过一个...Bash定界符来分割一个字符串 向Bash函数传递参数 如何用Bash遍历文本文件的每一行 Bash中单引号和双引号的区别 在bash中:-(冒号破折号)的用法

    88940

    使用 Python 程序实现摩斯密码翻译器「建议收藏」

    英语中的每个字符都被一系列“点”和“破折号”代替,或者有时只是单数的“点”或“破折号”,反之亦然。...,该变量将包含我们编码的字符串,然后我们在包含结果的字符串中添加一个空格。...一旦我们得到 2 个连续的空格,我们就会向包含解码字符串的变量添加另一个空格。 字符串末尾的最后一个空格将帮助我们识别莫尔斯电码字符的最后一个序列(因为空格充当提取字符并开始解码它们的检查)。...键的值可以从字典中访问,就像我们通过索引访问数组的值一样,反之亦然。...= ' ': # 查字典并添加对应的摩斯密码 # 用空格分隔不同字符的摩斯密码 cipher += MORSE_CODE_DICT

    1.3K20

    使用 Python 程序实现摩斯密码翻译器

    英语中的每个字符都被一系列“点”和“破折号”代替,或者有时只是单数的“点”或“破折号”,反之亦然。...,该变量将包含我们编码的字符串,然后我们在包含结果的字符串中添加一个空格。...一旦我们得到 2 个连续的空格,我们就会向包含解码字符串的变量添加另一个空格。 字符串末尾的最后一个空格将帮助我们识别莫尔斯电码字符的最后一个序列(因为空格充当提取字符并开始解码它们的检查)。...键的值可以从字典中访问,就像我们通过索引访问数组的值一样,反之亦然。...= ' ': # 查字典并添加对应的摩斯密码 # 用空格分隔不同字符的摩斯密码 cipher += MORSE_CODE_DICT

    2.5K20

    YAML教程:5分钟内开始使用YAML

    今天,我们将快速学习YAML,并且探索如何在下一个数据驱动的解决方案中使用它。 这是我们今天要介绍的内容: 什么是YAML? YAML的显著特征 YAML语法 进阶概念 什么是YAML?...当团队中的其他开发人员经常使用此数据并因此需要更具可读性时,这也很有用。...JSON格式 难以阅读 明确而严格的语法要求 与YAML相似的内联样式(某些YAML解析器可以读取JSON文件) 暂无注释 字符串需要双引号 用例:JSON在Web开发中受到青睐,因为它最适合序列化格式和通过...每个文档之间的分隔都用三个破折号(---)标记 --- player: playerOne action: attack (miss) --- player: playerTwo action: attack...您可以使用|将每个字符串打印为新行,>可以将其打印为段落。 YAML中的字符串不需要用双引号引起来。

    5.5K20

    180619-Yaml文件语法及读写小结

    Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在Java...基本语法 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不要使用tab) # 表示单行注释 破折号后面跟一个空格(a dash...and space)表示列表 用冒号和空格表示键值对 key: value 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据 用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用...小结 核心语法: 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不要使用tab) # 表示单行注释 破折号后面跟一个空格表示列表...用冒号和空格表示键值对 key: value 简单数据可以不使用引号括起来,包括字符串数据 用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符 转义demo: comment

    1.8K10

    让你如“老”绅士般编写 Python 命令行工具的开源项目:docopt

    若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ 二、使用模式 在上一篇文章中我们提到 docopt 是通过定义一个包含特定内容的字符串,也就是接口描述,来达到描述命令行功能的目的...短选项支持集中表达多个短选项,比如 -abc 等价于 -a、-b 和 -c 长选项后可跟参数,通过 空格 或 = 指定,比如 --input ARG 等价于 --input=ARG 短选项后可跟参数,通可选的...空格 指定,比如 -f FILE 等价于 -fFILE 在下面这个例子中,我们希望通过 -n h 或 --name 来指定名字: """ Usage: cli [options] Options...在下面这个例子中,我们支持 create 和 delete 两个子命令,用来创建或删除指定路径。...在下篇文章中,我们仍然会以 git 命令作为实战项目,看看如何使用 docopt 来实现 git 命令。

    66930

    java字符串练习题2、反向输出英文字符串

    public class Demo { public static void main(String[] args) { String str = "I Have A Dream"; // 字符串通过...split函数使用【 】空格,分割为字符串数组 String[] strArr = str.split(" "); // 创建一个新的用于存储单词的容器 String[] strArr1 =...System.out.print(strArr1[i]+" "); } } } } 输出效果: 优化效率 这里使用的是StringBuffer来优化的,直接在判断过程中赋值给StringBuffer,通过判断是否是最后一个来判定是否给加空格符号...split函数使用【 】空格,分割为字符串数组 String[] strArr = str.split(" "); // 创建一个新的用于存储单词的容器 String[] strArr1 =...", " ."); // 字符串通过split函数使用【 】空格,分割为字符串数组 String[] strArr = str.split(" "); // 创建一个新的用于存储单词的容器

    40830

    Linux之tr命令

    命令语法 tr [选项] [字符串1] [字符串2] 命令选项 -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; -s或--squeeze-repeats...使用tr删除字符 > echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: > cat text | tr '\t' ''...,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...n\n\n3\n\n\n" | tr -s '\n' 1 2 3 将多行内容合并为一行 > echo -e "1\n\n\n2\n\n\n3\n\n\n" | tr -d '\n' 123 将多个连续空格合并为一个空格...,并将空格替换为破折号- > echo "2021 03 01" |tr -s ' ' '-' 2021-03-01 删除非数字字符 > echo "2021assefdf03fff01"

    1.8K00

    Linux之tr命令

    命令语法 tr [选项] [字符串1] [字符串2] 命令选项 -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; -s或--squeeze-repeats...使用tr删除字符 > echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: > cat text | tr '\t' ''...,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...n\n\n3\n\n\n" | tr -s '\n' 1 2 3 将多行内容合并为一行 > echo -e "1\n\n\n2\n\n\n3\n\n\n" | tr -d '\n' 123 将多个连续空格合并为一个空格...,并将空格替换为破折号- > echo "2021 03 01" |tr -s ' ' '-' 2021-03-01 删除非数字字符 > echo "2021assefdf03fff01"

    1.4K20

    Linux之tr命令

    命令语法 tr [选项] [字符串1] [字符串2] 命令选项 -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; -s或--squeeze-repeats...使用tr删除字符 > echo "hello 123 world 456" | tr -d '0-9' hello world 将制表符转换为空格: > cat text | tr '\t' ''...,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...n\n3\n\n\n" | tr -s '\n' 1 2 3 将多行内容合并为一行 > echo -e "1\n\n\n2\n\n\n3\n\n\n" | tr -d '\n' 123 将多个连续空格合并为一个空格...,并将空格替换为破折号- > echo "2021 03 01" |tr -s ' ' '-' 2021-03-01 删除非数字字符 > echo "2021assefdf03fff01"

    1.3K10

    HTML5-类库系列 类名的各种操作

    通过obj.className获取到当前该元素的类名,然后在其基础之上,与新类名使用字符串进行连接。注意两种类名之间需要有一个空格。...第二步 移除类名 removeClass 移除类名的功能函数就没有增加类名那么简单了~需要使用数组以及字符串等各种方法进行实现。当然也可以通过正则去实现。...移除类名的基本原理是:首先我们将元素的类名进行拆分,将这种class="HTML5 lili test",一个元素多个类名的内容,根据空格进行拆分,拆分并放置于数组当中。...之后我们将数组中的类名分别和需要移除的类名进行比较,如果相同则删除掉。...问题又来了,我们的html是从外部传入到函数内的,html实际上是oldClassName这个变量的变量值。那么我们能不能把\bhtml\b改成\boldClassName\b呢?很明显不现实的。

    1.4K50
    领券