2016-10-11 12 views
0

エラーがスローされます。解析日は、私は才能オープンスタジオの仕事では、以下の文字列から最初の日付を解析する必要が

Report für Benutzerdefiniert Von: 11.10.2016 01:00:00 Bis: 12.10.2016 01:00:00

私はtjavarowコンポーネントで使用されている次の式を構築グローバルVARと日付を設定します

output_row.Datum = TalendDate.parseDate("dd.MM.yyyy",StringHandling.LEFT(String‌​Handling.FTRIM(Strin‌​gHandling.EREPLACE(i‌​nput_row.Column0,"Re‌​port für Benutzerdefiniert Von: ","")),11)); 
globalMap.put("datum",output_row.Datum); 

しかし、私はこのエラーを取得する:

Exception in component tJavaRow_2 
java.lang.RuntimeException: java.text.ParseException: Unparseable date: "11.10.2016" 
    at routines.TalendDate.parseDate(TalendDate.java:895) 
    at routines.TalendDate.parseDate(TalendDate.java:839) 
    at ec_bi.xxxx_logintimes_csv_to_db_0_1.xxxx_LoginTImes_CSV_to_DB.tFileInputDelimited_3Process(xxxx_LoginTImes_CSV_to_DB.java:3184) 
    at ec_bi.xxxx_logintimes_csv_to_db_0_1.xxxx_LoginTImes_CSV_to_DB.tJavaRow_1_error(xxxx_LoginTImes_CSV_to_DB.java:412) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at ec_bi.xxxx_logintimes_csv_to_db_0_1.xxxx_LoginTImes_CSV_to_DB$TalendException.printStackTrace(xxxx_LoginTImes_CSV_to_DB.java:355) 
    at ec_bi.xxxx_logintimes_csv_to_db_0_1.xxxx_LoginTImes_CSV_to_DB.runJobInTOS(xxxx_LoginTImes_CSV_to_DB.java:10195) 
    at xxx.xxxxxx_csv_to_db_0_1.xxxx_LoginTImes_CSV_to_DB.main(xxxx_xxxxx_CSV_to_DB.java:9946) 
Caused by: java.text.ParseException: Unparseable date: "11.10.2016" 
    at java.text.DateFormat.parse(DateFormat.java:366) 
    at routines.TalendDate.parseDate(TalendDate.java:881) 
    ... 10 more 

いただきました!私のパース日付TalendDate.parseDate("dd.MM.yyyy",...)

ありがたい

クリスチャン

答えて

1

問題は見えない文字です。

それはと罰金働いている:あなたは、私がここに考え出した方法を見ることができます

output_row.datum = TalendDate.parseDate("dd.MM.yyyy",StringHandling.TRIM(StringHandling.RIGHT(StringHandling.LEFT(StringHandling.EREPLACE(input_row.Column0,"Report für Benutzerdefiniert Von: ",""),11),10))); 

https://www.talendforge.org/forum/viewtopic.php?pid=193560#p193560

のが、よりglaceful解決策があるかどうか私に教えて:)

0

括弧の数が間違っているかもしれないと間違っている:最初の行に1「)」がありすぎて、2行目の2以上。 さらに、tJavaRowでは、行は "row5.Column0"ではなく "input_row.Column0"という名前にする必要があります。 "row5"を使用する場合は、この式をtMapに入れてください。

+0

申し訳ありませんが/コピーでした過去のエラー - 私は両方を訂正します。 output_row.Datum = TalendDate.parseDate( "dd.MM.yyyy"、StringHandling.FTRIM(StringHandling.FTEPLACE(input_row.Column0、 "ReportfürBenutzerdefiniert Von:"、 "))、11)); globalMap.put( "datum"、output_row.Datum); 同じエラーが発生する – chnet

関連する問題