0

GREL を使用して OpenRefine の列に基づいて列を追加しようとしています。

学名の 2 番目のスペースの後のすべてのテキストを抽出する必要があります。

元のセル データの 2 つの例を次に示します ---> 抽出したいもの:

Amandinea punctata (Hoffm.) Coppins & Scheid. ---> (Hoffm.) Copins & Scheid. Agonimia tristicula (Nyl.) Zahlbr. ---> (Nyl.) Zahlbr.

4

2 に答える 2

0

ここでは、特定のデータに対して目的の結果を得る 3 つの方法を、わかりやすいものから高度な方法へと並べて示します。

列分割を使用する

セパレーターとして空白を選択することで列を 3 つの列に分割し、対応するダイアログで新しい列の数を 3 に制限できます次に、最初の 2 つの列を削除して、目的の結果を得ることができます。

配列関数を使用する

GREL と配列を介して同じ手法を使用できます...空白で分割し、最初の 2 つのエントリを破棄し、残りを空白で結合します。

value.split(" ").slice(2).join(" ")

正規表現を使用する

正規表現でmatch 関数を使用することもできます。

value.match(/\S+\s\S+\s(.+)/)[0]
于 2021-08-31T17:07:33.093 に答える
0

解決策: 適切なセパレータと思われる部分でパーティションを分割します: "("、正しい部分を取り、先頭に不足している "(" を追加します。

"("+value.partition(" (")[2]
于 2021-08-31T14:58:09.043 に答える