問題タブ [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.

0 投票する
7 に答える
10937 参照

java - 並べ替えマップIgnoreCase のキーで?

さて、私は TreeMap をテストしましたが、文字列比較で IgnoreCase を考慮していません。辞書順で、大文字と小文字を区別せずに注文する必要があります。他に方法はありますか?

ありがとうございます (TreeMap (Comparator c))。ただし、別の質問があります。

コンパレーターをユニバーサル化して、さまざまなオブジェクトを操作するにはどうすればよいですか? すべてが getId() メソッドを持っていると仮定します。

ありがとう、マーティン

0 投票する
17 に答える
63864 参照

python - Pythonでのバージョン番号の比較

2つのバージョン番号を比較し、、、またはそれらの比較された値に基づいてcmp返す-like関数を記述したいと思います。-101

  • -1バージョンAがバージョンBより古い場合に返します
  • 0バージョンAとBが同等の場合に戻る
  • 1バージョンAがバージョンBよりも新しい場合に返します

各サブセクションは数値として解釈されることになっているため、1.10>1.1です。

必要な機能出力は

そして、これが私の実装であり、改善の余地があります。

私はPython2.4.5btwを使用しています。(私の職場に設置されています...)。

これが、使用できる小さな「テストスイート」です。

0 投票する
4 に答える
5380 参照

php - PHPでのパーセンテージベースの文字列比較

2 つの文字列を比較し、類似しているかどうかを判断できるようにする PHP のライブラリを探しています。例えば:

など。何か案は?

0 投票する
7 に答える
5963 参照

c# - .NET の 2 つの文字列の単語ごとの差分比較

2 つの文字列を単語単位で比較する必要があります。diff のようなものですが、行ではなく単語です。

ウィキペディアで行われているように http://en.wikipedia.org/w/index.php?title=Horapollo&action=historysubmit&diff=21895647&oldid=21893459

結果として、2 つの文字列が異なる単語のインデックスの 2 つの配列を返したいと思います。

これを実行できる .NET 用のライブラリ/フレームワーク/standalone_methods はありますか?

PS数キロバイトのテキストを比較したい

0 投票する
7 に答える
7593 参照

c - C で == 演算子を使用して文字配列を比較する

C で「文字列」を比較する正しい方法は を使用することstrcmpですが、いくつかの文字配列を==演算子と比較してみましたが、奇妙な結果が得られました。

次のコードを見てください。

最初のものは、それらが等しくないことを示すprintfa を正しく出力します。しかし、文字配列を比較するときにが返される1理由を誰かが説明できますか?==0

printf最初の配列が aを返している1(つまり、等しい) のに、文字配列が a を返している理由を誰かが説明してくれませんか0?

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

javascript - ECMAScript で空の文字列をチェックするときに、string == "" よりも string.length == 0 を使用する必要があるのはなぜですか?

私の現在のプロジェクトの開発者のほとんどは、ECMAScript の空の文字列をチェックするために (私にとっては) 奇妙な方法を使用しています。

私は通常、代わりにこれを書きます:

後者のバージョンは、より読みやすく、自然に思えます。

私が尋ねた人は誰もバージョン 1 の利点を説明できなかったようです。過去のある時点で誰かがこれがその方法だとみんなに言ったのだと思いますが、今ではその人は去り、誰もなぜこれを行うべきかを覚えていません。仕方。

2 番目のバージョンよりも最初のバージョンを選択する理由があるかどうか疑問に思っています。あるバージョンが他のバージョンよりも優れているということは重要ですか? 何らかの理由で、あるバージョンの方が安全または高速ですか?

(実際には、ECMAScript Edition 4 に準拠した Siebel eScript でこれを行います)

ありがとう。

0 投票する
8 に答える
12782 参照

c# - String.comparison パフォーマンス (トリムあり)

大文字と小文字を区別しない高性能の文字列比較をたくさん行う必要があり、それを行う私の方法 .ToLower().Trim() は、割り当てられているすべての新しい文字列を行うため、本当にばかげていることに気付きました

だから私は少し掘り下げましたが、この方法が望ましいようです:

ここでの唯一の問題は、先頭または末尾のスペース、つまり Trim() を無視したいということですが、Trim を使用すると、文字列の割り当てで同じ問題が発生します。各文字列をチェックして、それが StartsWith(" ") か EndsWith(" ") かを確認してから、Trim することができると思います。それか、各文字列のインデックスと長さを把握し、string.Compare オーバーライドに渡します。

しかし、それはかなり面倒に思えます。両方の文字列の末尾と先頭の空白のすべての組み合わせに対して本当に大きな if-else ステートメントを作成しない場合、おそらくいくつかの整数を使用する必要があります...エレガントなソリューションのアイデアはありますか?

これが私の現在の提案です:

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

.net - string.Compare 動作

これはどのようにできますか?(これは VS2008 の即時ウィンドウから取得されます)

0 投票する
4 に答える
391 参照

c# - 同等の文字列比較

これらの 2 つの行は同等であると信じていますが、奇妙な問題に遭遇した後は、そうではないと信じています。

と同じです:

CLR での実装に違いはありますか?

0 投票する
5 に答える
5996 参照

c# - 文字列比較に == または Equals を使用する

一部の言語 (C++ など) では、文字列比較に == などの演算子を使用できません。これは、文字列自体ではなく、文字列オブジェクトのアドレスを比較するためです。ただし、C# では == を使用して文字列を比較でき、実際には文字列の内容を比較します。しかし、そのような比較を処理する文字列関数もあるので、私の質問は次のとおりです。あなたはすべきですか?

与えられた 2 つの文字列:

次のように比較する必要があります。

または、次のように Equal 関数を使用する必要があります。

とにかく技術的な違いはありますか?または、ベストプラクティスの合理的な議論は?