ここでは多くの正規表現の回答を検索しましたが、この種の問題の解決策を見つけることはできません。私はリンクから私のテキストをクリーンアップしようとしている文字列をtibbleからその文字列の一部に置き換えます
library(tidytext)
library(stringr)
text.raw <- "Berthold Speer was een [[Duitsland (hoofdbetekenis)|Duits]] [[architect]]."
:
私のデータセットは、Wikipediaのリンクを持つtibbleです。 この:
str_extract_all(text.raw, "[a-zA-Z\\s]+(?=\\])")
# [1] "Duits" "architect"
は私が括弧の間から必要な単語を選択します。
この:
str_replace_all(text.raw, "\\[\\[.*?\\]\\]", str_extract(text.raw, "[a-zA-Z\\s]+(?=\\])"))
# [1] "Berthold Speer was een Duits Duits."
期待通りに動作しますが、ではない非常に私は必要なもの。これは:
str_replace_all(text.raw, "\\[\\[.*?\\]\\]", str_extract_all(text.raw, "[a-zA-Z\\s]+(?=\\])"))
# Error: `replacement` must be a character vector
は私が"Berthold Speer was een Duits architect"
は現在、私のコードは次のようになります期待されるエラーを与える:
text.clean <- data_frame(text = text.raw) %>%
mutate(text = str_replace_all(text, "\\[\\[.*?\\]\\]", str_extract_all(text, "[a-zA-Z\\s]+(?=\\])")))
私は誰かが解決策を知っている願って、または重複した質問に私を指すことができますもし存在すれば私の希望する出力は"Berthold Speer was een Duits architect"
です。
最後に使用したい文字列は何ですか? –
'architect'私はドットを[[...]] 'または' [[xxx | ...]] ' – raoul
'text.raw%>%gsub(パターン=' \\ [。+ \\ | '、replacement =' ')%>% gsub(パターン=' \\] | \\ [ '、'置換 '=' ') –