regex - 删除特定字符后的单词

标签 regex

我正在使用软件使用正则表达式编辑歌曲。这就是我所拥有的:

Jimmy Eat World - The Middle (.mp3)



我想要做的是删除“-”之前的空格和之后的所有内容,所以我只剩下“Jimmy Eat World”

我想要执行的另一个操作是删除“-”之前的所有内容以及后面的空格,这样我就只剩下“中间”了

最佳答案

这是一件容易的事。

第一步 - 删除破折号后的任何内容:

  • 替换 / -.*/与空字符串。 (注意破折号前有一个实际的空格。)
  • 如果破折号前可能有多个空格,则可以使用此变体:/ +-.*/ (再次在 + 之前有一个实际空间)。

  • 第二个 Action - 删除任何直到破折号:
  • 替换 /.* - /与空字符串。 (注意破折号后面有一个实际的空格。)

  • 笔记
  • 斜线 /以上不是正则表达式的一部分,您不必键入它们。它们在这里用作视觉分隔符。
  • .表示“任何字符”(除了换行符,文件名中不会有换行符)
  • *表示“前一项,零到任意次数”
  • +表示“前一项,至少一次,可能多次”
  • 正则表达式中的大多数其他字符表示它们所说的意思,因此正则表达式中的空格将匹配字符串中的空格。值得注意的异常(exception)是 ^ , $ , . , + , * , ? , { , } , ( , ) , [ , ] , |\ ,它们有自己的特殊含义,但与您的情况无关。
  • 关于regex - 删除特定字符后的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14184305/

    相关文章:

    python - 具有特定结尾的多行模式

    javascript - 使用Javascript检测字符串中的一些保留字符

    regex - 这个查找/替换可以用一个正则表达式完成吗?

    Java 7 Unicode 正则表达式 仅制表符和仅空格

    java - 将字符串拆分为特定大小的 String[]

    c# - 如何检查字符串是否包含列表值,如果包含但具有其他值,则如何单独检查

    r - 文本挖掘,包括模式和数字

    c# - C#用IEnumerable <string>中的任何字符串替换字符串中的所有实例

    regex - 如何从正则表达式中找到语言?

    Python正则表达式排序问题