我是法国人,我们有一些相当新的写作规范,使语言更具“包容性”。这意味着每个词,结合词和后缀,如果适合每个人,都必须是女性和男性化。
因此对于C'est le président
和C'est la présidente
,它现在是C'est lae président·e
。
翻译:{{1}}
但声乐合成无法理解,所以我想提取混合词[She/He is the president]
并阅读两次(男性化方式和女性化方式)。
到目前为止,我使用正则表达式删除了新写作约定中使用的每个不可读字符(· - 。•)président·e
,因此它输出了女性单词chaine.replace(/t[·\-\.•]e/gi,'te')
。
但我想要一个输出présidente
检测到président et présidente
时的输出: word + t +“和”+ word + te
很难说清楚抱歉:) 提前致谢!
答案 0 :(得分:1)
根据我的理解,您希望使用两种变体返回字符串,以使C'est lae président·e
变为C'est lae président et présidente
。假设这是对您要完成的内容的正确解释,您可以使用以下代码。
下面我使用[^ ]+
的原因是JavaScript在正则表达式中不支持Unicode字符,因此这是我演示正则函数的最简单方法(也适用于{{{ 1}})匹配除单词分隔符之外的任何字符(在您的情况下是空格字符)。
é
var s = "C'est lae président·e",
r = /([^ ]+)·([^ ]+)/gi
console.log(s.replace(r, '$1 et $1$2'))
将除空格之外的任何字符捕获一次或多次到捕获组1 ([^ ]+)
按字面意思匹配·
将除空格之外的任何字符一次或多次捕获到捕获组2