でも、diffで比較しようと思っても普通のdiffは多バイト対応してない、とか結構厄介だったりするんですよね。
漢字コードとか多バイト対応とか日本語は本当に難しい。
KさんはExcelのMID関数を使ってサクッと解いてくれました。
--
セル A1 に、「ニホンゴハホントニムズカシイ」
セル B1 に、「二ホソゴハホソ卜二ムズ力ツイ」
として
セル A2 〜 セル A15 に、1 〜 14 を入れておく。
(追記:Excelの小技 1,2を入れたセルを選択してセルの右下の小さな四角をドラッグすると連続した数字が簡単に入力できます)
セル B2 に、
=IF( MID(A$1,A2,1)=MID(B$1,A2,1) , 0 , 1 )
を入れて、あとは下へコピー。
=SUM(B2:B15)
が間違っている数。
--
私は、xcodeがいつも立ち上がってるのでobjectiveCでサクッと
--
NSString *str1 = @"ニホンゴハホントニムズカシイ";
NSString *str2 = @"二ホソゴハホソ卜二ムズ力ツイ";
int i,unmatch;
unmatch = 1;
for(i=0; i < [str1 length];i++) {
if (!([[str1 substringWithRange:NSMakeRange(i, 1)] isEqualToString:[str2 substringWithRange:NSMakeRange(i, 1)]])) {
NSLog(@"%@,%d",[str1 substringWithRange:NSMakeRange(i, 1)],unmatch);
++unmatch;
}
}
--
実行結果
2014-06-26 11:01:37.996 nihongo[13290:90b] ニ,1
2014-06-26 11:01:37.997 nihongo[13290:90b] ン,2
2014-06-26 11:01:37.998 nihongo[13290:90b] ン,3
2014-06-26 11:01:37.998 nihongo[13290:90b] ト,4
2014-06-26 11:01:37.998 nihongo[13290:90b] ニ,5
2014-06-26 11:01:37.999 nihongo[13290:90b] カ,6
2014-06-26 11:01:37.999 nihongo[13290:90b] シ,7
--
もっと簡単な方法を募集中。
こういうのに燃える人を一人知ってるけど、どうかな??
追記:もう一つアナログな方法を思いついた
トレーシングペーパーに印刷して重ねる
追記2:もう一つの原始的な方法
お絵かきソフトで文字を透過率を半分ぐらいにして重ねる
ラベル:IT
それぞれの文字の画像データを作成して、画像データ同士を比較するプログラムを作る。(^^;)
PythonistaとかJavaScriptorとかLisperは出てこないのか?