2010-12-03 3 views
0

長さが異なる の文字列から共通の文字を識別する方法を探しています。まず、同じ問題がここに掲載されていることを教えてください。著者は何とか答えを見つけることができます。しかし、私は彼の解決策を得ることができませんでした。 に質問を投稿しようとしましたが、回答が得られるかどうかはわかりません。だから私は新しいものとして投稿しています。 (これは、 の古いqs Find common chars in array of strings, in the right order の文字列の右の順番のリンクです)。文字列の配列から正しい文字列(正規表現の一種)で共通文字を特定します

私は彼から同じ例を取っています。 、

アレイ( 0 => '48ca135e0 $ 5'、 1 =>、 2 '$ 5 b8ca136a0' => '$ 5 c48ca13730':

はのは、 "ワイルドカード文字" は "+" と仮定しましょう3 => '48ca137a0 $ 5');

は返す必要があります。

$ワイルドカード= '+ 8ca13 + 0 $ 5';

これは標準的な問題として私に見えます。だから私はいくつかのライブラリ がこれには疑いがあります。 plsがこれを解決するためにいくつかの光を示していない場合。

私はchar-by-charの仕事を(返信で言われているように)比較しないと思っています。becozはどこにでも入ることができます(例: - arr1 [1]とarr2 [3]部分文字列と他の方法も同様です)。

について、

答えて

0

「最も長い共通部分文字列」を探しているようです。最初の最も長い共通部分文字列は8ca13で、2番目に長い文字列は0 $ 5です。これらの2つの文字列を取得したら、セット内の文字列のいずれかを取り、余分な文字を1つの+で置き換えることができます。

http://en.wikipedia.org/wiki/Longest_common_substring_problem