正则表达式从路径中删除文件名

2024-04-06

如何设计一个 RegEx 脚本来从路径中删除文件名?诀窍在于,道路上有各种各样的扳手需要投入工作。

路径可以包括:

1: "Folder1/Folder2/Folder3.1234/folder4.5678/ApplesandOranges.txt","MoreInfo","EvenMoreInfo"
2: "Folder1/Folder2/Folder3.1234/folder4.91011/","MoreInfo","EvenMoreInfo"

or even

3: "Folder1/Folder2/Folder3.1234/folder4.5678/ApplesandOranges.zip?CatsAndDogs.txt","MoreInfo","EvenMoreInfo"

对于情况 1 和 3,我想最终得到:

Folder1/Folder2/Folder3.1234/folder4.5678/

不过,第二个返回是可以接受的

Folder1/Folder2/Folder3.1234/folder4.5678/ApplesandOranges.zip

虽然不是首选。

在情况 2 中,它会完全跳过该行,因为没有文件名。

有什么建议么?

通过文本编辑器使用标准正则表达式。没有使用java之类的。

注意:该路径只是一个示例。可能有 50 个文件夹。它始终不只是 4 个文件夹


您可以使用像这样的简单正则表达式:

(.*\/).*

工作演示 http://regex101.com/r/gO6xD8/2

如您所见,其想法是使用以下命令捕获到最后一个斜杠的所有内容(.*\/)并丢弃其余的.*。检查上面的替换部分。

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

正则表达式从路径中删除文件名 的相关文章

随机推荐

  • 请在合并之前提交您的更改或隐藏它们

    我想升级 但我需要提交 但是当我执行 git commit 时 我得到 您的分支比 起源 开发 落后 20 次提交 并且可以快进 使用 git pull 更新本地分支 我不想丢失本地更改 从项目目录使用这些终端命令 使用以下方式隐藏您的本地
  • 将命令的 stderr 从构建任务传递到 Azure DevOps

    我有一个 VSTS Azure DevOps 版本 其中包含电源外壳 or a 命令行任务 该任务正在运行一些程序 program exe When program exe返回非零退出代码 构建按预期失败 program exe还打印详细的
  • NSString unicode编码问题

    我在将字符串转换为可读的内容时遇到问题 我在用着 NSString substring NSString stringWithUTF8String symbol data cStringUsingEncoding NSUTF8StringE
  • 我可以在 iPhone 的网络浏览器上运行嵌入网页的 Java Applet 吗?

    我可以在 iPhone 上运行嵌入 或 HTML 标记中的 Java 小程序吗 我的意思不是作为一个应用程序 而是实际上通过它的浏览器 不 正如史蒂夫 乔布斯在 2007 年接受采访时回答的那样 Java 不值得构建 没有人再使用 Java
  • 这个属性的作用是什么:MethodImplOptions.NoInlined(或者:什么是“内联”方法)[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的内联函数 https stackoverflow com questions 473782 inline functions in c 什么是方法内联 https stackoverflow
  • Spark时间戳差异

    我正在尝试在 Spark 中进行时间戳差异 但它没有按预期工作 下面是我正在尝试的方法 import org apache spark sql functions df df withColumn TimeStampDiff from un
  • Bootstrap 4 .nav-link 填充

    我想删除第一个的左侧填充 nav link in navbar nav 这是一个example https i stack imgur com m3XK7 png 在 bootstrap 4 中 我创建了一个导航并给了填充 nav link
  • 比较两个托管引用

    是否可以比较两个托管引用 类型为ref T 如果它们相等 我的意思不是对对象的引用 而是对变量的引用 例子 public static bool Compare ref int a ref int b return ref a ref b
  • 使用 YAML 转储 unicode

    我正在从 csv 创建 yaml 文件 其中包含很多 unicode 字符 但我似乎无法让它转储 unicode 而不会给我一个解码错误 我正在使用ruamel yaml图书馆 UnicodeDecodeError ascii codec
  • 删除功能不起作用

    我正在开发一个应用程序 它有一个启动屏幕 可以下载几个文件 在文件开始下载之前 我想检查文件是否已经存在 如果存在 我想删除它们 下面显示的代码包含正确的文件路径 并且检查文件是否存在的函数似乎与 Logcat 中读出的状态 文件已删除 一
  • gulp.dest 未创建目标文件夹

    我的 gulp 代码部分如下所示 gulp src application base js application base assets js base pipe gulpPlumber errorHandler function err
  • watchOS 3 SpriteKit 中的触摸事件?

    在watchOS 3中使用SpriteKit时 如何处理触摸事件 我正在从 iOS 移植 SpriteKit 游戏 下面的代码不起作用 或者你必须以某种方式控制 WKInterfaceController override func tou
  • Apache 上 Django 应用程序的 POST/GET 请求日志

    Django 开发服务器非常好 它实时显示所有 POST GET 请求以及其他事件的日志 来自 Django 开发服务器的日志示例 04 Jul 2012 19 23 27 GET static images sprites submit
  • 根据所选单选按钮显示控件

    我有一组三个单选按钮 根据选择的单选按钮 我想显示三个控件之一 文本框 下拉列表或按钮 如何根据所选单选按钮的结果显示控件 您可以使用以下方法将控件的可见性绑定到 RadioButton 的 IsChecked 属性 BooleanToVi
  • 如何在 Android 中暂停和恢复录音

    我正在使用 MediaRecorder 类开发音频录制应用程序 我有以下要求 1 按下暂停按钮则暂停录音 2 按下恢复按钮后 从暂停处恢复录制 我试试这个link https stackoverflow com questions 5743
  • 使累计总和更快

    我正在尝试计算矩阵每一列的累积和 这是我的 R 代码 testMatrix matrix 1 65536 ncol 256 microbenchmark apply testMatrix 2 cumsum times 100L Unit m
  • C++ for every in 自定义集合

    所以自从它推出以来我就一直很喜欢for each在要迭代的关键字中STL collections 我是语法糖的超级粉丝 我的问题是如何编写可以使用这些关键字迭代的自定义集合 本质上 我需要公开什么 APi 才能使用这些关键字来迭代我的集合
  • 设置分层绘图的大小?

    我正在为我的应用程序制作一个图标 该应用程序基本上是一个朋友查找器 我正在创建一个看起来很像谷歌纬度图标的叠加层 我有一个因用户而变化的图像 并且我有边框 我已经能够很好地进行分层绘制和叠加 但问题是 图像拉伸到边框的大小 这是一个问题 因
  • 当应用程序进入后台时如何停止运行?

    我正在尝试建立一个可运行的程序 它可以每 5 秒间隔加载一次广告 当然 5 秒太快了 这只是为了测试目的 这是我的代码 package com admobsdk dfp handler import com google ads impor
  • 正则表达式从路径中删除文件名

    如何设计一个 RegEx 脚本来从路径中删除文件名 诀窍在于 道路上有各种各样的扳手需要投入工作 路径可以包括 1 Folder1 Folder2 Folder3 1234 folder4 5678 ApplesandOranges txt