問題タブ [string-search]

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 投票する
2 に答える
377 参照

c - 別の文字列で最も右の文字列を検索 - Cで

重複の可能性:
strstr の逆 fn() はありますか

2 つの文字列を取得し、最初の文字列内に 2 番目の文字列が存在するかどうかを確認し、最も右のインデックスの出現場所を返すこの main 関数と関数を作成しました。見つからなかった場合は return -1.

これは私が書いたコードです:

この行に問題があると思います:

2番目の文字列に含まれる2つの文字列を最初の文字列に入れてみましたが、t[j]nullに等しいにもかかわらず、内部のifステートメントを実行しません。

  • このプログラムを書くには他にも多くの方法があることを知っています。しかし、これも機能するはずであり、機能させようとしています。
0 投票する
8 に答える
3097 参照

c++ - Cを使用してテキスト内の単語を検索し、その単語の後に情報を表示する

次のようなテキストファイルがあるとします。

ユーザー:ジョン

デバイス:12345

日付:12/12/12

編集:

単語を正常に検索し、その単語の後に情報を表示するためのコードがあります。ただし、コードを編集して2つまたは3つの単語を検索し、1つの単語ではなくその後ろに情報を表示しようとすると、機能しません。同じwhileループにコードを追加し、別の単語の新しいwhileループを作成しようとしましたが、どちらも機能しません。私が間違っている/していないことがあるに違いありません。

アドバイスをお願いします、ありがとう!

これが私のコードです:

0 投票する
2 に答える
309 参照

c - Cで複数の単語を検索し、それらの後にカンマで区切られた情報を表示する

私はtxtファイルを持っているとしましょう:

日付: 11/11/11

デバイス: ボクスター

状態: 良好

コードで単語を検索し (Say Device:)、その単語の後に情報を表示しようとしています (Boxster)。これまでのところ、1 つの単語のみを検索するコードが動作しています。2 つまたは 3 つの単語を検索し、その後に情報を表示できるようにコードを修正するにはどうすればよいですか?

次の形式で情報を表示できればさらに便利です。

ボクスター、11/11/11、いいですね。

これが私のコードです、事前に感謝します!

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

c++ - Boyer-Moore-Horspool 文字列検索の実装を高速化する

C++ で BMH アルゴリズムを実装するのに少し問題があります。

コードは次のとおりです。

ほとんどの例で機能しますが、機能しない例もいくつかあります (これまでに見つけたのは、さまざまなソースからダウンロードされた巨大なテストのみです)。

どこで/何を間違っているのか知りたいです(コードは本当に必要ありません)。

編集:コメントのため

Boyer-Moore の完全なバージョンを実装せずに、このアルゴリズムをより高速に実行する方法を知っていますか?

0 投票する
2 に答える
138 参照

php - PHPでmultilpe文字列のHTMLタグを検索するにはどうすればよいですか?

strpos()HTMLタグの検索を使用できますか?無効な結果が生成されるようです。また、に変換しようとしましたhtmlentities()-それでも運がありません。太字、斜体、下線などのテキスト装飾を適切に検索するにはどうすればよいですか?

:(デモ

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

json - LinkedIn jsapi から企業 ID を取得する方法

私はjsapiを使用してLinkedInから企業IDを取得しようとしていました.iamは以下のURLを使用しています

"/company-search:(companys:(id,name))?keywords=ibm%20oracle%20infosys"

私はいくつかの他の会社のIDを取得しました

一度に複数の会社の会社 ID を取得する方法

0 投票する
2 に答える
2889 参照

python - Python はファイル内の 100 万個の文字列を検索し、各文字列の出現回数を数えます

これは、それを行うための最速の方法を見つけることです。別の行に約100万個の文字列(長さ6〜40)を含むfile1があります。約 80,000 個の文字列を含む別の file2 でそれらのそれぞれを検索し、出現回数をカウントします (1 つの文字列で小さな文字列が複数回見つかった場合、この文字列の出現回数は 1 のままです)。パフォーマンスの比較に興味がある人は、file1 と file2 をダウンロードするためのリンクがあります。dropbox.com/sh/oj62918p83h8kus/sY2WejWmhu?m

私が今行っているのは、ファイル 2 の辞書を作成し、文字列 ID をキーとして、文字列を値として使用することです。(file2 の文字列は値が重複しているため、文字列 ID のみが一意であるため) 私のコードは

私のコードは完了するまでに数時間かかります。誰でもそれを行うためのより速い方法を提案できますか? file1 と file2 はどちらも約 50M です。私の PC には 8G のメモリがあり、高速化するために必要なだけメモリを使用できます。1時間で終わる方法ならなんでもOKです:)

ここで、以下のコメントからいくつかの提案を試した後、パフォーマンスの比較を参照してください。最初にコードが来て、次に実行時間です。

Mark Amery および他の人々によって提案されたいくつかの改善

完了するまでに 1m4 秒かかります。私の古いものと比較して改善された20代

#######エントロピーが提案する次の方法

これには 1 分 10 秒かかりますが、重複の検索を回避するため、期待したほど速くはありません。理由がわかりません。

Mark Amery によって提案された Haystack と Needle の方法が最速であることが判明しました。この方法の問題は、すべての部分文字列のカウント結果が 0 になることです。これはまだわかりません。

これが私が彼の方法を実装したコードです。

完了するのに 0 分 11 秒しかかからず、他の方法よりもはるかに高速です。しかし、カウント結果をすべて0にするのは私のミスなのか、マークの方法に欠陥があるのか​​ わかりません。

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

string - 追加、前置、検索操作をサポートする文字列データ構造

ミニ プロジェクトとしてテキスト エディターを作成する必要があり、次の操作をサポートするデータ構造またはアルゴリズムを設計する必要があります。

  • Append : 文字列の末尾に文字を追加します。
  • Prepend : 文字列の先頭に文字を追加します。
  • Search : 検索文字列 s を指定して、文字列のすべての出現箇所を検索します。

O(log n)時間以下の各操作。検索と置換操作はかなりの量になりますが、必須ではありません。文字列の最大長は一定です。これを達成する方法はありますか?

ありがとう!