使用filehelper时修剪字符
本文关键字:字符 修剪 filehelper 使用 | 更新日期: 2023-09-27 17:51:19
我使用FileHelpers来解析csv文件并将其加载到数据表中。我使用xml模板并将其传递给ClassBuilder。LoadFromXml
我想从一个特定的字段中修剪某些字符,我认为有一些我们可以在Xml文件中提到,如TrimChars和TrimMode来做到这一点。我试过这样做,但它不工作。
例如。
<DelimitedClass Delimiter=";">
<ClassName>YourRecordClass</ClassName>
<SealedClass />
<IgnoreEmptyLines />
<IgnoreFirstLines>1</IgnoreFirstLines>
<Fields>
<Field Name="MyField" Type="String" TrimChars=";" TrimMode="Right"/>
</Fields>
</DelimitedClass>
事先感谢您的帮助。
================编辑:
我没有得到任何错误,它只是没有修剪分号从我的最后一个字段。下面是示例,现在在这个示例中,您将看到99999999;在末尾,我想要修剪那个分号。
HEADER_1 ;HEADER_2;HEADER_3;HEADER_4 ;HEADER_5 ;HEADER_6 ;HEADER_7;HEADER_8 ;HEADER_9;HEADER_10 ;HEADER_11;HEADER_12 ;HEADER_13 ;HEADER_14;HEADER_15 ;HEADER_16 ;HEADER_17 ;HEADER_18;HEADER_19 ;HEADER_20 ;HEADER_21 ;HEADER_22 ;MyField ;
000999999;ZZZZZZ_ZZ ;ZZZZ ;99zzz9799zzz ;999Z ;ZZZZZZZ ;Z ; 9;Z ;ZZZZZZZ; NOV12;99999999; 99.990000; ; 0.000000; -0.990000; 0.000000;ZZZ ;ZZZZZZZZ;07/03/2012 12:00:00 ;07/03/2012 20:35:13 ;ZZZ ;99999999 ;
首先,使用xml节点属性指定字段选项。相反,这些选项应该这样定义:
<Field Name=""MyField"" Type=""String"">
<TrimMode>Both</TrimMode>
</Field>
其次,当TrimChars
属性与字段分隔符相同时,它将不起作用。相反,您应该添加一个额外的虚拟可选final字段。这样的:
<Fields>
<Field Name=""MyField"" Type=""String"">
<TrimMode>Both</TrimMode>
</Field>
<Field Name=""IgnoreTrailingDelimiter"" Type=""String"">
<FieldOptional />
</Field>
</Fields>