問題タブ [stringr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
124 参照

r - 文字列から要素を抽出する

列が次のように構成されている次のデータセットがあるとします。

ご覧のとおり、各列は都市を表すことを意図していますが、列名の構造は扱いにくいものになっています。列名の文字列から都市名を抽出する方法を誰かが教えてくれるかどうか疑問に思っていました。

各都市の辞書を持っていて、文字列の照合を行うこともできましたが、うまくいきませんでした。また、str_split を使用してこれを行う方法があると想定しましたが、まだわかりません。

もちろん、gsub による解決策もあると思いますが、正規表現に関しては私は少し苦手です。

最終的には、実際の都市名を列名として表示したいだけです。

0 投票する
3 に答える
22327 参照

r - dplyr と stringr で複数の文字列を検出する

dplyr と stringr を組み合わせて、データフレーム内の複数のパターンを検出しようとしています。多数の異なる列をテストしたいので、dplyr を使用したいと考えています。

サンプルデータは次のとおりです。

私が使いたいのは次のようなものです:

そして受け取る

非常に単純なテストが機能します

しかし、dplyr がなくても、データフレームの列に対してこれを機能させることはできません。

誰もこれを行う方法を知っていますか?

0 投票する
3 に答える
2322 参照

r - 異なる長さのベクトルを持つ tidyr からの分離の使用

[1, 58, 10] などの文字列の列を、separate from tidyr を使用して列に分割したいと思います。私の問題は、列が短い場合があることです(決して長くはありません)。同じデータ フレームに、この問題が発生した列が多数あります。

パッケージの読み込み

データ

ここでは、実際のデータからのサンプルを使用してデータ フレームを作成します。「ベクトル」の長さは、col1 では 10、col2 では 9 または 10 です。他の列があることを示すためだけに時間列があります。

どうなりたいか

すべての「ベクトル」が同じ長さの最初の列では、separate() を使用して必要なものを取得できます。

これにより、

これは、要素を複数の列に分割できない col2 では機能しません

回避策

その結果、

ベクトルが短い場合、最後の要素は NA になるため、これは正しいです。

質問

回避策の代わりに別の (または他の単純な関数) を使用する方法はありますか? これを col1 と col2 に同時に適用する方法はありますか (たとえば、col で始まる列を選択することによって)?

ありがとう!

0 投票する
1 に答える
58 参照

r - stringr 関数を data.table に渡すときに正しく解析できない

ここで少し奇妙なものです。ファイル ルートのリストがあり、各ルートからターミナル ファイル名を抽出したいと考えています。ストリンガー関数の見苦しい複合は、文字列の最後の「/」文字を検出し、後ろから抽出することで仕事をします。

ここで奇妙なことに、関数は任意の 1 つの文字列に個別に適用すると正常に動作しますが、data.table に渡されると適切に適用されないようです。

sapply を使用してデータ テーブルを処理する strsplit 関数をまとめることができますが、実際には、file_list は数十万行の長さになり、sapply には非常に長い時間がかかります。

だから私の質問はです。元の機能が機能しない理由と、それを修正する方法はありますか? あるいは、find_name 関数をより速く動作させるにはどうすればよいですか?

前もって感謝します....

0 投票する
1 に答える
273 参照

r - stringr str_match をベクトル化して for ループを削除する

R ベクトル化を使用してこの for ループを削除するにはどうすればよいですか?

これは動作しません:

0 投票する
1 に答える
188 参照

regex - str_match の括弧は一致を変更します

URLでスラッシュされた2つの間のコンテンツを抽出しようとしています。このためにstringrfunctionを使用していますstr_match

私はなんとか完全な文字列を抽出しました:

しかし、括弧を追加して文字列内の一致を抽出すると、結果が予期せず変化します。

かっこが正規表現でどのように解釈されるかの問題に違いありません。どんな手掛かり?

0 投票する
0 に答える
419 参照

r - str_extract_all を使用して、テキストからパターンをハッシュタグとして抽出します

パッケージ "stringr" の機能に問題があります: str_extract_all 文字ベクトルでパターン (私の場合はハッシュタグ) を抽出します。私のデータは次のとおりです。

そして私のスクリプト:

機能は動作しますが、うまくいきません。出力はすべて文字 (0) です。どうすれば修正できますか?この関数でハッシュタグを抽出する別の方法を試してみます。

しかし、それを使用すると、次のような出力としてエラーが発生します。

私のデータは次のようなものです:

本当にありがとう

0 投票する
6 に答える
4879 参照

r - html を含む解析 (改行なしスペース)

私はrvestウェブサイトを解析するために使用しています。私はこれらの小さな壊れないスペースで壁にぶつかっています。 解析された html ドキュメントの要素によって作成された空白をどのように削除しますか?

今、本文を抽出しました:

ただし、その厄介な空白を削除することはできません。

0 投票する
1 に答える
547 参照

r - 同じ数の要素を保持するリストから外す (ベクトル化)

いくつかのツイートからすべてのハッシュタグを抽出し、ツイートごとにすべてのハッシュタグを含む単一の文字列を取得しようとしています。str_extractfromを使用しstringrているので、文字ベクトルのリストを取得します。私の問題は、それをリストから外して、リストの同じ数の要素 (つまり、ツイートの数) を維持することができないことです。例:

これは、長さ 3 のつぶやきのベクトルです。

今、私str_extract_allはハッシュタグを抽出するために使用します:

今使用するunlistと、長さ 5 のベクトルが得られます。

私が欲しいのは、次のようなものです。ただし、これはベクトル化されていないため非常に非効率的であり、つぶやきの小さなデータ フレームでは永遠に (本当に!) 時間がかかります。

ヘルプ!