我试图通过正则表达式选择每个单词的第一个字符,因此\ b但尝试我似乎无法找到一种方法来处理单引号的情况&#39 ;用像"我' m"或带连字符的单词。
我希望能够做这样的事情/ \ b [a-z] / g与Not \' - 等......
输入:我是一些文字 输出:我有些文字
答案 0 :(得分:1)
由于你不能使用Lookbehinds,这可能会有用。第一个捕获组将获得任何字母,后跟“ - ”或“”字符。第二个捕获组将获得您想要的每个单词的第一个字母。
merged_df = join(df1, df2, on = [:ID1, :ID2], kind = :outer)
正则表达式发生的事情是有两个捕获组被“|”分隔(代表OR)。它会首先尝试匹配(['-]\b[a-zA-Z])|(\b[a-zA-Z])
,它会抓取任何以(['-]\b[a-zA-Z])
或-
字符提取的字母。我们首先吞噬了这个,所以我们可以忽略它。
第二个捕获组'
是您真正想要的。它将匹配单词边界所进行的任何字母。由于第一个捕获组已经抓住了你不想要的角色,我们可以放心,这将抓住你想要的东西,你可以采取行动。