問題タブ [string-comparison]
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.
comparison - 2つのテキストの「関連性」を見つけるためのいくつかの良い方法は何ですか?
ここに問題があります-私は数千の小さなテキストスニペットを持っています、数語から数文までのどこかにあります-最大のスニペットはディスク上で約2kです。それぞれを比較し、関連性係数を計算して、ユーザーに関連情報を表示できるようにしたいと考えています。
これを行うためのいくつかの良い方法は何ですか?これを行うための既知のアルゴリズムはありますか?GPLされたソリューションなどはありますか?
すべてを事前に計算できるので、これをリアルタイムで実行する必要はありません。私は実行時よりも良い結果を得ることに関心があります。
自分のことを書く前に、StackOverflowコミュニティに聞いてみようと思っただけです。以前にこれに対する良い解決策を見つけた人々がそこにいる必要があります。
c# - string.Compare がアクセント付き文字を一貫して処理していないように見えるのはなぜですか?
次のステートメントを実行すると:
結果は「-1」で、「mun」の数値が「mün」よりも小さいことを示します。
ただし、このステートメントを実行すると:
「1」が表示され、「Muntelier, Schewiz」が最後になることを示します。
これは比較のバグですか?または、アクセント付きを含む文字列をソートするときに考慮すべきルールはありますか
これが問題である理由は、リストを並べ替えてから、「xxx」で始まるすべての文字列を取得するための手動のバイナリ フィルターを実行しているためです。
以前は Linq の 'Where' メソッドを使用していましたが、別の人が作成したこのカスタム関数を使用する必要があります。
しかし、カスタム関数は、.NET の「ユニコード」ルールを考慮していないようです。そのため、「mün」でフィルタリングするように指示すると、リストに「mun」で始まるアイテムがあるにもかかわらず、アイテムが見つかりません。
これは、アクセント付きの文字の後に続く文字によって、アクセント付きの文字の順序に一貫性がないためと思われます。
OK、問題は解決したと思います。
フィルタの前に、各文字列の最初のn文字に基づいて並べ替えを行います。nは検索文字列の長さです。
python - Python:なぜ("hello"は"hello")がTrueと評価されるのですか?
なぜPythonで"hello" is "hello"
生成するのですか?True
私はここで以下を読みました:
2つの文字列リテラルが等しい場合、それらは同じメモリ位置に配置されています。文字列は不変のエンティティです。害はありません。
では、Python文字列ごとにメモリ内に1つの場所しかありませんか?かなり奇妙に聞こえます。何が起きてる?
mercurial - 特定のファイルタイプのバイナリ比較を実行するMercurial
最近Mercurialを使い始めましたが、.SQLファイルの1つを元に戻すと、Mercurialはバイナリ比較を実行しました。差分がないため、これにより、行われた変更の可視性が明らかに制限されます。
文字列比較を行うためにファイルタイプを設定するオプションはありますか?
私はMercurial1.3.1でTortioiseHg0.8.1を使用しています。
c++ - 名前と数字を正しく並べ替える
項目名の並び替えは、数字を正しく対応させたい。すなわちこれ:
それ以外の
すでにそれをサポートしている比較ファンクターを知っている人はいますか?
(つまり、 に渡すことができる述語std::sort
)
私は基本的にサポートする 2 つのパターンを持っています: 先頭の数字 (上記のように) と、エクスプローラーに似た末尾の数字:
(私はそれを解決できると思います:文字で比較し、数値を異なる方法で扱います。しかし、それはおそらくユニコード照合などを壊します)
python - 同一の文字列がPythonで'=='を指定してFALSEを返すのはなぜですか?
データ文字列は、ソケット接続を介して受信されます。アクション変数が'IDENTIFY'である最初の例を受け取ると、それは機能します。しかし、アクション変数が'MSG'である2番目の例を受け取った場合、それは比較されません。
そして、最も奇妙なことは、ソケットクライアントの代わりにTelnetを使用すると、両方が正常に比較されていることです。しかし、文字列は同じです...文字列が同じ方法でエンコードされていない可能性はありますか?どうやって知ることが出来ますか?
データ例:
objective-c - NSString isEqualToString:for \ n
Webサービスを呼び出すCocoaアプリがあります。Webサービスからの応答を解析すると、XMLの各要素のNSXMLParserのfoundCharactersデリゲートの最後の文字として\nが取得されます。
私が次のことをしようとすると:
チェックは常に改行をキャッチできません。改行を文字列チェックする良い方法を知っている人はいますか?
また、Webサービスからの出力にその証拠が見当たらない場合でも、各要素の各値の末尾に改行が含まれるのは奇妙だと思います。
これは、非常に簡単に実行できるはずの何かにとってはかなりの問題です。
php - PHPでの部分文字列比較
2 つの文字列に 2 つの IP アドレス値を保存しました
IPアドレスの最初の2つの部分、つまり116.95
2つの文字列の部分を比較したいだけで、両方の文字列で同じであるため、比較はtrueを返す必要があります。PHPでこの部分的な文字列比較を行う方法は?
c++ - 定数文字列アドレス
私のプログラムには、いくつかの同一の文字列定数があります。
それらが同じアドレスを持っているという保証はありますか?つまり、次のコードを記述できますか? GNU C++ では文字列が同じアドレスになるように最適化されると聞きましたが、私のプログラムでその機能を使用できますか?
sql - t-sql での nvarchar 変数のキャスト照合
nvarchar 変数の照合順序を変更する必要があります。ドキュメントによる:
(...) 3. COLLATE 句は複数のレベルで指定できます。これらには次のものが含まれます。
式の照合のキャスト。COLLATE 句を使用して、文字式を特定の照合に適用できます。文字リテラルと変数には、現在のデータベースのデフォルトの照合順序が割り当てられます。列参照には、列の定義照合が割り当てられます。式の照合については、「照合の優先順位 (Transact-SQL)」を参照してください。
ただし、この目的で CAST()、CONVERT()、または DECLARE を使用した変数宣言を使用するための正しい構文がわかりません。