問題タブ [substring]

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

linq - LINQ: datetime フィールド内で月と年でグループ化する

日時フィールドを持つテーブルがあります。月/年の組み合わせと、その月/年に表示されるレコードの数によってグループ化された結果セットを取得したいと考えています。これはLINQでどのように行うことができますか?

私が把握できた最も近いものはTSQLにあります:

しかし、それがうまくいくとは言えません...

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

java - Javabat 部分文字列のカウント

catDog の私のコードがあります。しばらく作業を続けていますが、何が問題なのかわかりません。助けていただければ幸いです!*/

編集- 文字列「cat」と「dog」が指定された文字列に同じ回数出現する場合、true を返したいです。

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

python - Pythonで部分文字列を見つける

出現ごとに2文字間の部分文字列を取得するのを手伝ってくれませんか

たとえば、指定されたサンプル シーケンスの "Q" と "E" の間のすべての部分文字列をすべて取得するには、次のようにします。

そして、最小の長さの部分文字列を見つけます。

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

python - 最短の部分文字列を見つける

文字列から部分文字列を見つけるコードを書きました。すべての部分文字列を出力します。しかし、長さ 2 から 6 の範囲の部分文字列が必要で、最小長の部分文字列を出力します。私を助けてください

プログラム:

出力:

望ましい出力:

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

python - Pythonでいくつかのサブストリングの1つを見つける最も効率的な方法は何ですか?

可能な部分文字列のリストがあります['cat', 'fish', 'dog']。実際には、リストには何百ものエントリが含まれています。

私は文字列を処理しています。私が探しているのは、これらの部分文字列のいずれかの最初の出現のインデックスを見つけることです。

明確にするために'012cat'、結果は3であり'0123dog789cat'、結果は4です。

また、どの部分文字列が見つかったか(たとえば、部分文字列リスト内のインデックスまたはテキスト自体)、または少なくとも一致した部分文字列の長さを知る必要があります。

これを達成するための明白なブルートフォースの方法があります、私はこれのためのエレガントなPython/正規表現ソリューションがあるかどうか疑問に思いました。

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

c - これは C の良い substr ですか?

C トークナイザーも参照してください。


これは私が書いた C 用の簡単な substr() です (はい、変数の初期化を関数の先頭などに移動する必要がありますが、アイデアはわかります)

私は、単純なワンライナー呼び出し strncpy() である substr() の多くの「スマートな」実装を見てきました!

それらはすべて間違っています (strncpy は null 終了を保証しないため、呼び出しによって正しい部分文字列が生成されない可能性があります!)

ここにもっと良いものがありますか?

バグを引き出す!

出力:

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

c - C Tokenizer (フィールドが欠落している場合も空を返します。イェイ!)

参照:これは C 用の良い substr() ですか?


strtok()友人は空のフィールドをスキップしますが、そのような場合にスキップせずに空を返すように指示する方法がわかりません。

私が見ることができるほとんどのトークナイザーと同様の動作であり、私を始めさせることさえできませんsscanf()(しかし、最初から空のフィールドで動作するとは決して言いませんでした)。

私は順調に進んでおり、眠気も感じているので、ここでレビューします。

ドライバーは次のとおりです。

はい、あなたはそれに気づきました。現在は単一の区切り文字に対してのみ機能しますが、もちろん、これには注意すべきバグが 1 つあります。

出力:

また、ネット上で同様のリクエストがたくさん見られたので、これを wiki にしています。

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

substring - すべての部分文字列(スクラブル)のアナグラムであるすべての単語のリストを取得するアルゴリズム?

たとえば、入力文字列がhelloworldの場合、出力を次のようにします。

helloworldのサブストリングのアナグラムである最長の単語までずっと。たとえばスクラブルのように。入力文字列は任意の長さにすることができますが、16文字を超えることはめったにありません。

私は検索を行い、トライのような構造を考え出しましたが、実際にこれを行う方法がまだわかりません。

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

language-agnostic - substring()はどのように機能する必要がありますか?

Javaの[String.substring()メソッド]( http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring (int,%20int% 29)は、そのまま指定されています。番号付きの位置から開始して、指定された文字数を返すように指示することはできません。自分で終了位置を計算する必要があります。また、終了位置を超えて終了位置を指定すると、文字列は、文字列の残りの部分を返すのではなく、Javaが例外をスローします。

私は、substring()(またはsubstr())が開始位置と長さの2つのパラメーターを受け取る言語に慣れています。これはJavaの方法よりも客観的に優れていますか?もしそうなら、それを証明できますか?あなたが見たsubstring()の最良の言語仕様は何ですか、そしてもしあるとしたら、言語が別のことをするのが良い考えになるのはいつですか?Javaが優れた設計アイデアを投げかけるIndexOutOfBoundsExceptionですか?これはすべて個人的な好みに帰着しますか?

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

c++ - Recursively generate ordered substrings from an ordered sequence of chars?

Edited after getting answers

Some excellent answers here. I like Josh's because it is so clever and uses C++. However I decided to accept Dave's answer because of it's simplicity and recursion. I tested them both and they both produced identical correct results (although in a different order). So thanks again everyone.


Say I have a string s of chars s[0]:s[N] and where each char s[i] <= s[i+1] For example the string

I want to generate all combinations of substrings while keeping the same relationship between chars.

So for example I would get

But not

Now I know how to work out how many combinations there are. You create a histogram of the frequency of letters in the string. So in the above example the that would be

For string aaacdddghzz

and the formula is (a+1)(c+1)(d+1)(g+1)(h+1)(z+1) = 4*4*2*2*2*3 = 384. There are 384 substrings that keep the s[i] <=s [i+1] relationship.

So the question is how do I generate those 384 substrings recursively? Actually an iterative method would be just as good, maybe better as large strings with many unique chars might cause the stack to overflow. This sounds like homework but it isn't. I'm just useless at coming up with algorithms like this. I use C++ but pseudocode would be fine.