二つの文字列を比較して違う箇所を発見したとき
何らかの処理を行うようなプログラムを書きたいのですが、
私の想像力が貧困な為そのアルゴリズムを考え付く事ができません
どなたか知恵を貸していただけないでしょうか?
具体的には以下のようなことをやっています。
私は現在,変数で
var exStr1="||||||||||+|1|2|3|4|5|6|7|8|9|+||||||||||";
var exStr2="||2||||||||+|1||3|4|5|6|7|8|9|+||||||||||";
と宣言しているとき私は
exStr1とexStr2では文字列の何処が違うか知る処理を知りたいのです。
とりあえず今私は変数X1とX2に
X1 = exStr1.split("+");
X2 = exStr2.split("+");
として「+」を区切り文字にして配列に入れてみて
更にソレを「|」で区切りなおしてみてます。
for(i=0;i<10;i++){
Y1 = X1[i].split("|");
Y2 = X2[i].split("|");
}
そこで違う場所を探すための処理として私は以下のように書いて見ました。
しかし現在全然動いてくれません。
for(i=0;i<10;i++){
if(X1[i] != X2[i]){
for(j=0;j<4;j++){
if(Y2[j] != Y1[j] && Y2[i]==""){
//ここで何らかの処理をしたい。しかし今はif文の条件がおかしいのか、この行の処理に入らない。
}
}
}
}
う~。なんか質問の域を越えてるとも思いますし、
それに我ながら質問の意味がわかりづらいとは思うのですが
お願いします。なんらかのヒントのようなものでも頂けたら幸いです。
No.1ベストアンサー
- 回答日時:
================
var exStr1 = "||||||||||+|1|2|3|4|5|6|7|8|9|+||||||||||";
var exStr2 = "||2||||||||+|1||3|4|5|6|7|8|9|+||||||||||";
var result = new Array();
for (X = 0;X < exStr1.length;X++){
if (exStr1.charAt(X) != exStr2.charAt(X)){ result[result.length] = X; }
}
================
上記スクリプトにより、配列resultに何文字目が違うかが入ります。
ピンぼけでないことを祈りつつ、参考までに。
ありがとうございました。
私自身もっとよくまとめて問題を抽出してから書くべきだと思いながら書いてしまった事が一番問題でした。
大変申し訳ありません。
Ap3さんのサンプルは大変ためになりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- Visual Basic(VBA) vbaのループ処理について 6 2022/05/06 15:35
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
C#テキストボックスの文字を配...
-
javascript 変数名の連結をしたい
-
undefinedを表示させない方法は...
-
WSH(Jscript)でファイル一覧
-
javascriptで2つのArrayの...
-
javascriptで行を抽出したいです。
-
重複しないようにランダムで表...
-
React hooksが値を返して配列変...
-
[Javascript]画面上にあるチェ...
-
関数内の配列を関数外で使うに...
-
JavaScriptで二次元配列?
-
idを使わずにonclickで自身の要...
-
Boolean型配列中のTrueの有無を...
-
関数でy=g(x)のgとは何の略です...
-
DOM要素を削除しても、イベント...
-
C#OpenCv V4にのエラーに関する...
-
innerHTML実行後のイベント
-
ActiveXobjectが作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
javascriptで行を抽出したいです。
-
二次元配列の全要素の全要素を...
-
JavaScriptにおける[] とか :...
-
JavaScriptでの動的な多次元配...
-
順列生成アルゴリズムについて...
-
WSH(Jscript)でファイル一覧
-
JavaScriptからPHPに配列を渡す...
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
textareaに入力されたデータを...
-
どうすればresponseText結果を...
-
オブジェクトから任意のプロパ...
-
フォーム入力値の重複チェック
おすすめ情報