2017-02-23 5 views
0

は、私は2つの変数、ユーザー名とパスワードを使用してファイルを読み込むしようとしている、のような: user1,password1ファイルに検索文字列を探して、変数に保存する - TCL

どのように値を区切ることができますし、異なる変数に格納しますか? これを試しましたが、文字列自体を格納していないようです。

そこにカンマが見えないようです。 もう一つのアイデアは、\Mを使用して、すべての文字列の後の "、"と一致させ、その文字列を格納することでしたが、機能しませんでした。

助けてください。

set varuser [lsearch -inline -all $userpass "*,"] 

set varuser [regexp {,\s+"(.*)"} $userpass all value] 
+0

ファイルをどのように読んでいますか? –

答えて

0

ユーザーのパスワードので、コンマが含まれている可能性があります。

% set line {user1,my,clever,password} 
user1,my,clever,password 
% lassign [regexp -inline {^(.+?),(.*)$} $line] -> user pass 
% set user 
user1 
% set pass 
my,clever,password 
0

どちらもコンマと仮定すると、(スペースをトリミングする可能性の必要性を無視して)[split]正規表現よりも単純で、[lassign]とともに、作業のための十分なことがあります

tcl> set line {user1,password1} 
user1,password1 
tcl> lassign [split $line ,] user pwd 
tcl> puts $user 
user1 
tcl> puts $pwd 
password1 
+0

ちょうど理解するために、 –

関連する問題