Pattern matching 如何使用TUSTEP查找行的最后一个字母
我正在使用Tustep,希望识别诗歌中每行的最后一个字母,即押韵词的最后一个字母 在下面的例子中,我想得到e,t,e,t-而不是别的: 这是我的梦想,Pattern matching 如何使用TUSTEP查找行的最后一个字母,pattern-matching,expression,Pattern Matching,Expression,我正在使用Tustep,希望识别诗歌中每行的最后一个字母,即押韵词的最后一个字母 在下面的例子中,我想得到e,t,e,t-而不是别的: 这是我的梦想, 我是塞尔本·奥尔特的一个朋友 你的头发是干什么的 这是一座高耸的城堡。 zn,,,-{00}{&a}{]}-在行尾获取任何单词,使用zn,,,-{00}{&a}{]}-{00}{&a}[,;]{]}-我甚至可以获取后面有标点符号(和行尾)的单词 但我真正想要的不是单词,而是这些单词的最后几个字母。如果文本没有变音符号,下面的TUSTEP搜索参数
我是塞尔本·奥尔特的一个朋友
你的头发是干什么的
这是一座高耸的城堡。
zn,,,-{00}{&a}{]}-
在行尾获取任何单词,使用zn,,,-{00}{&a}{]}-{00}{&a}[,;]{]}-
我甚至可以获取后面有标点符号(和行尾)的单词
但我真正想要的不是单词,而是这些单词的最后几个字母。如果文本没有变音符号,下面的TUSTEP搜索参数表达式应该可以实现这一点:
zn,,,--{&a}{]}{0}{@} --{&a}{]}{0}{@}-
它的作用是:主体模式{&a}{]}{0}{@}
查找单个字母({&a}
),可选地后跟一个非字母/非数字字符({0}{@}
)。这两个元素用右侧标记({]}
)分隔,确保只有字母是标记字符串的一部分。如果我们只使用这种搜索模式,我们将找到所有单词的最后一个字母。由于您只对行尾感兴趣,因此我们简单地排除所有后跟可选标点符号和强制空格字符的单词。此排除模式基本上与搜索模式相同,不同之处在于最后有一个空格字符:--{&a}{]}{0}{@}--
当然,必须注意的是,如果您的行最后有尾随空格,那么整个搜索模式都会失败。因此,在应用此搜索模式之前,应该先修剪线条
编辑: 如果你的文章有变音符号,上面的答案会产生一些错误的匹配,例如。g、 : Sehr schlimm:Eingeladed sein,
我们的房子仍然是R,
在Cafe besser
而keine Unterhaltung nötig是t (注意在“é”之前匹配的“f”)。因此,在使用变音符号的场景中,我建议使用
zn,,,--{&a}{]}{0}\%{0}{%} --{&a}{]}{0}{%}-
完美的这就解决了我的问题。在我正在处理的文本中不应该有任何尾随空格。我编辑过的may Response也可以用变音符号处理文本