第二次出现字符后分割文本

2023-12-19

我需要在第二次出现“-”字符之前分割文本。我现在所得到的是产生不一致的结果。我尝试过各种组合rsplit并通读并尝试了其他解决方案,但没有结果。

要分割的示例文件名:'some-sample-filename-to-split'返回于data.filename。在这种情况下,我只想'some-sample'回。

fname, extname = os.path.splitext(data.filename)
file_label = fname.rsplit('/',1)[-1]
file_label2 = file_label.rsplit('-',maxsplit=3)
print(file_label2,'\n','---------------','\n')

你可以这样做:

>>> a = "some-sample-filename-to-split"
>>> "-".join(a.split("-", 2)[:2])
'some-sample'

a.split("-", 2)将把字符串分割到第二次出现的位置-.

a.split("-", 2)[:2]将给出列表中的前 2 个元素。然后只需连接前 2 个元素即可。

OR

您可以使用正则表达式:^([\w]+-[\w]+)

>>> import re
>>> reg = r'^([\w]+-[\w]+)'
>>> re.match(reg, a).group()
'some-sample'

EDIT:正如评论中所讨论的,这是您需要的:

def hyphen_split(a):
    if a.count("-") == 1:
        return a.split("-")[0]
    return "-".join(a.split("-", 2)[:2])

>>> hyphen_split("some-sample-filename-to-split")
'some-sample'
>>> hyphen_split("some-sample")
'some'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第二次出现字符后分割文本 的相关文章

随机推荐

  • NSUserDefaults registerDefaults 如何工作? [复制]

    这个问题在这里已经有答案了 当我设置 registerDefaults 时application didFinishLaunchingWithOptions 我通过应用程序设置了 NSUserDefaults 的默认值 NSMutableD
  • Web API 2 RequireHttps 允许 http 连接

    我在 MVC Web API 2 控制器中创建了以下操作 ResponseType typeof int RequireHttps public IHttpActionResult SaveLead EcommerceLead lead 但
  • 使用 Django 提供动态生成的图像

    如何在 Django 中提供动态生成的图像 我有一个 html 标签 img src images dynamic chart png 链接到此请求处理程序 该处理程序创建内存中图像 def chart request img Image
  • java: apache HttpClient > 如何禁用重试

    我在网站上使用 Apache Httpclient 进行 Ajax 调用 在某些情况下 对外部 Web 服务的请求会失败 通常会出现以下情况 处理请求时捕获的 I O 异常 java net ConnectException 连接超时 连接
  • 如何使用管道在两个程序之间发送简单的字符串?

    我尝试在网上搜索 但几乎没有任何资源 一个小例子就足够了 编辑 我的意思是 两个不同的 C 程序相互通信 一个程序应该发送 Hi 另一个程序应该接收它 类似的事情 常规管道只能连接两个相关的进程 它是由一个进程创建的 当最后一个进程关闭它时
  • 使用 Android DateUtils API 在 Android 中将相对日期格式化为人类可读的格式

    我有一个日期字段 lastUpdated 我想将此日期翻译为人类可读的格式 例如 今天 1 天前 2 天前 我在用android text format DateUtils http developer android com refere
  • 错误:找不到资源整数/google_play_services_version(又名应用程序:整数/google_play_services_version)

    编译或运行项目时出现错误 我想计算我行驶的距离 我的Android studio版本是Android Studio 3 1 4 当我在 build gradle Model app 中添加以下库时 会发生此错误 implementation
  • JavaFx 2.x:如何在图表上写入文本?

    通过在图表上单击鼠标左键 我想通过创建文本区域矩形来写入文本 以便能够调整大小和移动 任何帮助真的很感激 Edit 嗨 sarcan 非常感谢您的友好回复 我尝试了你的代码 它编译并绘制了带有注释的面积图 非常出色的工作 我现在需要更改您的
  • 递增数字作为 Firestore 文档名称?

    基本上总结在标题中 我想让在特定集合中创建的每个新文档都具有增量排序的序列号 这是为了正确跟踪写入数据库的新订单 AutoID是随机的并会导致排序问题 我希望数据易于管理 这可以通过云功能实现吗 我可以查看任何示例代码片段吗 谢谢你 Use
  • 从 URL iOS 加载图像 [重复]

    这个问题在这里已经有答案了 我正在尝试从图像 URL 加载图像 我研究和尝试过的所有代码都发现了一些错误 其中很多与新的 ARC 兼容性有关 我需要将图像加载到图像视图中 任何帮助表示赞赏 Thanks 我将从这里改编吉姆 多维的回答从 U
  • 带预处理器的稀疏矩阵求解器

    我有一个scipy sparse csc matrix稀疏矩阵A形状的 N N where N是关于15000 A有小于1 非零元素 我需要解决Ax b尽可能节省时间 Using scipy sparse linalg spsolve大约需
  • 用 Go (golang) 编写 Ruby 扩展

    是否有一些关于如何在 Go 中编写 Ruby 扩展的教程或实践课程 Go 1 5 添加了对构建可从 C 因此可以通过 FFI 从 Ruby 调用的共享库的支持 这使得该过程比 1 5 之前的版本 当时需要编写 C 粘合层 更容易 并且 Go
  • 谷歌日历的 API OAuth Google 集成访问错误(来源不匹配)

    我正在将谷歌日历与 Angular UI 日历集成 以获取谷歌日历的事件数据 这是我的 HTML div div
  • 通过 JavaScript 迭代/解析 JSON 对象

    我在使用 jQuery Ajax JSON 时遇到问题 我正在使用 jQuery ajax post 像这样 ajax type POST dataType json url someurl com data cmd escape me c
  • Android 上的 XMLSchema 验证

    我维持JDOM项目 http www jdom org 我正在尝试在 Android 上 验证 它 大多数事情都工作正常 但 XML 模式验证却存在问题 我的问题是 有没有办法在 Android 上进行 XMLSchema 验证 如果有的话
  • jQuery - 分别处理同一类的多个实例?

    Goal 我正在尝试创建一个视差滚动 effect The 视差容器是这样实现的 lt div class parallax slide 1 gt lt div gt 我需要启动视差效果 当它的容器已滚动到视图中 一旦有了离开视图 效果需要
  • 使用 Bootstrap 响应表和 AngularJS 修复了第一列

    我整个上午都在努力解决这个 CSS 问题 但我似乎无法取得任何进展 基本上 我有一个水平滚动表 我使用了引导响应表 并且刚刚删除了媒体查询 因此它可以在所有屏幕尺寸下水平滚动 我使用 Angular 的 ng repeat 来循环标题数组和
  • 如何从代码向 Umbraco 中的文档类型添加属性?

    谁能给我一个示例 说明如何以编程方式向 Umbraco CMS 中的现有文档类型添加属性 这是我尝试过的 var dt DocumentType GetByAlias TestDocType dt AddPropertyType new D
  • 首次在 eclipse 中创建项目时获得的 Hello world 应用程序的 APK 大小是多少?

    我知道像 Hello World 这样的简单应用程序的大小小于 10 Kb 如下所示 但是当我尝试在项目创建后立即生成 APK 时 它显示该应用程序超过 500 Kb 左右 我知道在 build gradle 中将 minify 选项设置为
  • 第二次出现字符后分割文本

    我需要在第二次出现 字符之前分割文本 我现在所得到的是产生不一致的结果 我尝试过各种组合rsplit并通读并尝试了其他解决方案 但没有结果 要分割的示例文件名 some sample filename to split 返回于data fi