You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何翻转带连字符的姓名顺序并去除连字符?

姓名翻转与格式转换方案

下面提供几种实用方法,帮你把"brown-john"这类格式转换成john brown:

1. 用sed命令快速处理

直接在终端运行这条命令(假设你的输入文件叫names.txt):

sed -E 's/"([a-z]+)-([a-z]+)"/\2 \1/' names.txt
  • 逻辑:用正则捕获连字符前后的两部分,把第二部分(名)和第一部分(姓)交换位置,同时去掉引号。
  • 效果:"brown-john"会变成john brown,原文件里的name1、name2这类行保持不变。

2. 用awk命令处理

如果更习惯awk语法,试试这条命令:

awk -F'"|-' '{if ($2 != "") print $3, $2}' names.txt
  • 逻辑:把引号和连字符设为分隔符,提取出姓和名后交换顺序打印。

3. Python脚本灵活处理

如果需要批量处理或保留更多原文件格式,写个简单脚本:

with open("names.txt", "r") as file:
    for line in file:
        stripped_line = line.strip()
        # 只处理带引号的姓名行
        if stripped_line.startswith('"') and stripped_line.endswith('"'):
            last_name, first_name = stripped_line.strip('"').split('-')
            print(f"{first_name} {last_name}")
        else:
            # 其他行原样输出
            print(stripped_line)

运行脚本后就能得到你想要的格式。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:10:26