0

Ruby では、2 つの文字列の差分を取得し、同じ部分をベースとして残りを分割するにはどうすればよいですか?

たとえば 2 つの文字列があります (すべての文字列がこの形式になるわけではありません)。

String1 = "Computer: Person1, Title: King, Phone: 555-1212"
String2 = "Computer: PersonB, Title: Queen, Phone: 123-4567"

結果を得るために、2 つの文字列を比較 (diff) できるようにしたいと考えています。

["Computer: ",", Title:",", Phone:"]

次に、これを使用して元の文字列を再解析し、次を取得します。

["Person1","King","555-1212"] and ["PersonB","Queen","123-4567"]

以前の配列で db/storage にラベルを付けることができました。

これを行うための機能はありますか?また、これらの結果をどのように達成できますか?

この目的は、書式設定の予備知識を必要としません。このようにして、データのみがパターン化のために分析され、分割されます。カンマ区切り、改行、スペースなどがあります。

gem「diffy」と「diff-lcs」を調べて、これを分割するのに役立つかどうかを確認しています。

4

4 に答える 4

0

これらの文字列を考えると、列を で分割し,、前の部分:を列の名前として使用します。

最長の一般的なサブシーケンスの問題があります。これには何か関係がありますが、データのセマンティクスを処理するほどスマートではありません。

于 2013-05-03T07:15:06.433 に答える