缩短一段文字

时间:2019-05-24 19:36:34

标签: regex textpad

这应该是非常简单的,但是我对此很陌生。假设我要处理的文字块超过300个字符。

我想要一个正则表达式字符串,该字符串将找到前200个字符之后的所有字符,一直到末尾($)。

我要删除前200个字符以外的所有内容。我将这些数据转储到电子表格中,不需要任何东西。

====更新=====

对不起,让我们非常具体。我不是真的在使用编程语言。 (我在应用程序Ubot中)假设您在Textpad的页面上有300多个文本块。您按F8键并进行替换。我选中常规表达框。

我将使用什么正则表达式来查找前200个字符,然后用NOTHING替换其余的字符。 (即删除)

4 个答案:

答案 0 :(得分:0)

  

我想要一个正则表达式字符串,该字符串将找到前200个字符之后的所有字符,一直到末尾($)。

此正则表达式匹配除前200个字符外的所有字符:

(?<=^[\s\S]{200})[\s\S]*$

如果您的正则表达式引擎支持\K,您也可以这样做:

^[\s\S]{200}\K[\s\S]*$
  

我要删除前200个字符以外的所有内容

听起来您只想匹配前200个字符,可以使用此正则表达式进行匹配:

^[\s\S]{200}

答案 1 :(得分:0)

您的第二段和第三段是矛盾的。尝试使用@ RugerSR9的fork,该字符最多可以选择200个字符(您的输入可能少于这个字符,我想您仍然希望输入)。

^.{0,200}

您可能希望查看除正则表达式之外的其他内容,例如伪代码string.Left(200)

答案 2 :(得分:0)

旧问题,但是我看不到任何关于OPs问题的答案,它可能会在将来帮助其他人。确保首选项中的Use POSIX regular expression syntax已关闭。

搜索:

^\(.\{0,200\}\).*$

并替换为:

\1

说明,此(^\(.\{0,200\}\))将从行首开始匹配至前200个字符,并将它们放入组\1中。其余的(.*$将与该行中的其余字符匹配,直到最后。替换表达式将整个行替换为匹配的\1组。

如果需要大量,请加分。将其记录为宏,然后单击几下鼠标即可修剪文件。

答案 3 :(得分:0)

为此,我在文本板中使用了阻止模式-无需使用正则表达式。