首页 > 解决方案 > 如何使用 TUSTEP 查找行的最后一个字母

问题描述

我正在使用 Tustep 并想识别一首诗中每一行的最后一个字母,即押韵词的最后一个字母。

在以下示例中,我想获取 e,t,e,t - 仅此而已:

Das Glück ist eine leichte Dirn e ,
Und weilt nicht gern am selben Or t ;
Sie streicht das Haar dir von der Stirn e
Und küßt dich rasch und flattert for t

zn,,,-{00}{&a}{]}- 让我在行尾得到任何单词,并且zn,,,-{00}{&a}{]}-{00}{&a}[.,;]{]}- 我什至得到后面跟着标点符号(和行尾)的单词。

但我真正想要的不是单词,而是这些单词的最后一个字母。

标签: pattern-matchingexpression

解决方案


如果您的文本没有变音符号,则以下 TUSTEP 搜索参数表达式应该可以解决问题:

zn,,,--{&a}{]}{0}{@} --{&a}{]}{0}{@}-

它的作用如下:主要模式{&a}{]}{0}{@}查找单个字母 ( {&a}),可选地后跟非字母/非数字字符 ( {0}{@})。这两个元素用右手标记 ( {]}) 分隔,确保只有字母是标记字符串的一部分。如果我们只使用这种搜索模式,我们会找到所有单词的最后一个字母。由于您只对行尾感兴趣,我们简单地排除所有后跟可选标点字符和强制空格字符的单词。此排除模式与搜索模式基本相同,不同之处在于末尾有一个空格字符:--{&a}{]}{0}{@} --.

当然必须注意,如果您的行最后有尾随空格,则整个搜索模式都会失败。因此,在应用此搜索模式之前,您应该先修剪线条。


编辑:如果你的文字确实有变音符号,上面的答案会产生一些错误的匹配,例如:

Sehr schlimm: eingeladen se n ,
wenn zu Hause die Räume Stille r ,
der Ca fé bessel r und keine Unterhaltung nötig is t

(注意“é”之前匹配的“f”)。因此,在带有变音符号的场景中,我建议使用

zn,,,--{&a}{]}{0}\%{0}{%} --{&a}{]}{0}{%}-

推荐阅读