gpt4 book ai didi

regex - 如何在向 Yahoo Pipes 添加字符限制的同时使用正则表达式来确保完整的单词?

转载 作者:行者123 更新时间:2023-12-04 06:33:37 24 4
gpt4 key购买 nike

我对此很陌生,所以如果我的问题不是那么清楚,请原谅。我将 RSS 提要拉入 Yahoo Pipes 并使用 Regex 对其进行修改。这是我想要做的:

  • 限制条目中的字符数,但是...
  • 确保该项目包含完整的单词,并且...
  • 如果项目被缩短,添加一个省略号,但...
  • 如果它落在限制范围内,则不应对其进行任何操作

  • 因此,如果提要的标题是:“这篇文章很重要”并且限制为 20 个字符,那么结果应该是“这篇文章是...”但是如果标题是“好文章”,那么它应该不会发生任何事情。

    在做了一些研究之后,我想我想将 if/then 语句与前瞻结合起来,即转到字符限制,如果后面有一个空格字符,则添加一个省略号,如果它是数字或字母,转到限制内的最后一个空格并添加一个省略号,但如果后面没有任何字符,则不要执行任何操作。这有意义吗?有没有更简单的方法来做我想做的事?

    我真的很感激你能提供的任何帮助。谢谢!

    最佳答案

    尝试使用以下模式替换标题:

    ^(?=.{23})(.{0,20})(?=\s).*$

    随着字符串
    $1...

    工作示例: http://pipes.yahoo.com/pipes/pipe.info?_id=04158a7a5ea390b1b0b78ebccadcec79

    它是如何工作的?
  • (?=.{23}) - 首先,我们检查长度是否至少为 23(即 20 + '...',您可以使用它)
  • (.{0,20}) - 在第一组中最多匹配 20 个字符。
  • (?=\s) - 确保最后一个字符后有一个空格。如果没有,它将尝试匹配更少的字符。
  • .* - 一直匹配到最后,因此该行的其余部分被删除。

  • 这里的一个边缘情况是一个单词超过 20 个字符。如果这是一个问题,您可以使用以下方法解决它:
    ^(?=.{23})(.{0,20}(?=\s)|\S{20}).*$

    关于regex - 如何在向 Yahoo Pipes 添加字符限制的同时使用正则表达式来确保完整的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099216/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com