parsing - Rebol:如何将相同的解析规则应用于从 Windows 剪贴板粘贴的多行

标签 parsing rebol text-analysis

假设我在剪贴板中

title1: (todelete) blah blah
title2: (also to delete) blah blah blah

最后我想要这个输出

title1: blah blah
title2: blah blah blah

我知道如何解析一行并将其附加到一个 block

parse/all clipboard [
    copy x to "(" (append block x) thru ")"
    copy x to end (append block x)
]

但我不知道迭代每一行的最简单方法。

最佳答案

最简单的方法是将文本分成几行,然后将规则应用到每一行

 >> parse/all read clipboard:// "^/"
 == ["title1: (todelete) blah blah" "title2: (also to delete) blah blah blah"]

如果您想一次完成,则可以使用 some 多次应用您的规则

 parse/all read clipboard:// [some [line-rule]]

但为了考虑换行符,您需要添加它作为替代方案以及 end 作为替代方案。

 parse/all read clipboard:// [some [line-rule | "^/" | end ]]

关于parsing - Rebol:如何将相同的解析规则应用于从 Windows 剪贴板粘贴的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44220845/

相关文章:

python - 使用Python解析特定的网站(XML)并保存到mysql

object - 为什么在Rebol2中动态添加代码到对象不生效?

java - 如何自动从html页面创建模板?

python-3.x - 以 id 作为键,将多个标签读取为列表或字典中的元组,即 {id :(cat1, cat2,.....)}

java - java中使用多线程解析xml并写入txt文件

c - 通过char数组中的token获取参数

android - Android 上的 Rebol GUI 显示屏太小

javascript - 确定所有屏幕尺寸的元素样式

ruby - 在整个目录上执行 Ruby 脚本

Rebol 3 r3gui 有哪些可用的边框效果?