リスト内の正確なテキストを検索する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />リストとリスト関数を使用していますが、リストに含まれる正確なテキストを見つける方法がわかりません。たとえば、次の nameList では、nameList に変数「name」で指定された正確なテキストが含まれている場合に、別のリストを作成したいとします。 ただし、Contains 関数は、変数「name」に指定された値だけを取得するわけではありません。 act_nameList の作成により、要求されたもの (Jane_2) に加えて Jane が検出されるのに、Jane_3 が検出されない理由について何か考えはありますか?これは奇妙な動作のように思えますが、変数名で指定されたテキストのみを含むリストを作成する方法がわかりません。アイデアや提案をいただければ幸いです。
名前 = "ジェーン_2";
nameList = {“ジェーン”、“ルイーズ”、“ケイティ”、“ジェーン_2”、“ベッキー”、“ジェーン_3”};
act_nameList = {};
For( i = 1, i <= N Items( nameList ), i++,
If( Contains( name, nameList )、
Insert Into( act_nameList, nameList )
)
);
Show( act_nameList );
Re: リスト内の正確なテキストを検索するまあ当然ですが、
私はなんてディンドンだったのでしょう。なぜ今のような結果が得られたのか、今では完全に理解できました。Contains 関数の構文には十分な注意を払っていませんでした。ご協力いただき本当にありがとうございました。
Re: リスト内の正確なテキストを検索するその結果を得るには、contains への引数を逆にする必要があります。contains の最初の引数は「メイン」文字列で、2 番目の引数は探している部分文字列です。
引数を逆にしたコードを次に示します。つまり、最後の返信で述べた結果が得られます。
名前= 「ジェーン」 ;
名前リスト= { 「ジェーン」 、 「ルイーズ」 、 「ケイティ」 、 「ジェーン_2」 、 「ベッキー」 、 「ジェーン_3」 } ;
act_nameList = {} ;
ために(私= 1 、私<= N 個のアイテム(名前リスト) 、私++、
もしも(含まれています(名前リスト[私】 、名前) 、
に挿入( act_nameList 、名前リスト[私】 )
)
) ;
見せる( act_nameList ) ;
Re: リスト内の正確なテキストを検索するわかった、
この発言の微妙なところがまだ理解できていません。 たとえば、次の場合
name = "Jane" Jane はそれぞれの部分文字列であるため、act_nameList = {"Jane", "Jane_2", "Jane_3"} ではないのはなぜですか?
Re: リスト内の正確なテキストを検索するcontains 関数は宣伝どおりに機能しています。
声明contains("ジェーン_2", "ジェーン") true を返します。ジェーンの部分文字列ですジェーン_2
contains("ジェーン_2", "ジェーン_2") true を返す理由もジェーン_2の部分文字列ですジェーン_2
Jane_3 は Jane_2 に含まれていないため、contains("Jane_2", "Jane_3") は false を返します。
完全一致には contains ではなく == を使用したいと思います。
名前= 「ジェーン_2」 ;
名前リスト= { 「ジェーン」 、 「ルイーズ」 、 「ケイティ」 、 「ジェーン_2」 、 「ベッキー」 、 「ジェーン_3」 } ;
act_nameList = {} ;
ために(私= 1 、私<= N 個のアイテム(名前リスト) 、私++、
もしも(名前==名前リスト[私] 、
に挿入( act_nameList 、名前リスト[私】 )
)
) ;
見せる( act_nameList ) ;