2016-06-23 9 views
1

私はいくつかの文を含むExcelファイルを扱います。文章の中に空白を含むいくつかの数字(例えば234 45 56)が含まれている場合は、( "Generate Attribute"演算子を使用して)新しい属性を生成したいと思います。私はこれを行うには、関数 "match nominal regex"(matches(sentences,"\d+\s+\d))を使用しています。しかし、私はRapidminerがエスケープ()文字を認識しないという問題に直面しました。どのようにRegexを動作させるように変更するのですか?RapidMinerでregexを使用して新しい属性を生成する

いくつかの追加コメント/例:

マイ入力文:文は数字のような連鎖が含まれている場合

word word 123 345 6665 23456 54 word word word 
word word word 12.3 34.5 6665 23.456 5.4 word word word 
word word word 12,3 34,5 6665 23,456 5.4 word word word 
word word word 12,3% 34,5% 6665% 23,456% 5.4% word word word 

私の出力は、真または偽と新しい変数になります。

私は最初にRegexを使用して数字\ d + [。、]?\ d * \ s + \ d + [。、]?\ d *をキャプチャすると考えました。

+0

は、あなたの入力がものになるかどうかと、あなたの出力がされるかの例を与えますか? – parthi

+0

'match(文章、。* \ d \ s + \ d。*") 'や' match(文章。* [0-9] + [0-9]。* ")' –

+0

@ In777:私の提案はまだ試みましたか? –

答えて

0

\dは、[0-9]\sと表示されます。また、あなたが、このように、これは(可能な限り多くのような)改行以外の任意の0+文字に一致し.*

match(sentences,".*[0-9] +[0-9].*") 

追加matchesとフルラインを一致させる必要が数字で、その後、1+スペースと思えます桁、改行以外の0 +文字。

また、(正規表現は、Javaの味であるので)\dまたは\sに一致するように\を倍増してみてください。

matches(sentences,".*\\d+\\s+\\d.*") 
+0

それはあなたのために働いてうれしい、あなたがそれが有用であることが判明した場合、upvotingを考慮してください。 –

関連する問題