如何摆脱输入字符串

玛拉

当我尝试对我的字符串进行一些操作时,我的 tMap 出现了问题。我有一个带有 Ad_Set_Name 的 csv,在某些行中单元格中有更多行。我使用以下内容:

row4.Ad_Set_Name.contains(" ") ? row4.Ad_Set_Name.substring(0,row4.Ad_Set_Name.indexOf(" ")) : row4.Ad_Set_Name
row4.Ad_Set_Name.contains("\"") ? row4.Ad_Set_Name.substring(row4.Ad_Set_Name.indexOf("\"")+1,row4.Ad_Set_Name.lastIndexOf("\"")) : "null"

我让我们说 Ad_Set_Name“其他 vc_7days”。所以在这种情况下,第一行会给我“其他”,第二行会给我“空”。Ad_Set_Name = "Other vc_7days "something" 3rd" 第一行将返回 "Other" 和第二个 "something"。但是当我有 Ad_Set_Name=

“其他

事情”我有一个索引错误,例如:“StringIndexOutOfBoundsException:字符串索引超出范围:-1”知道这是为什么吗?非常感谢!

错误日志是:

Exception in component tMap_1 (facebook_campaigns_amazon_us)
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(Unknown Source)
    at mava2.facebook_campaigns_amazon_us_0_1.facebook_campaigns_amazon_us.tFileInputDelimited_2Process(facebook_campaigns_amazon_us.java:4649)
    at mava2.facebook_campaigns_amazon_us_0_1.facebook_campaigns_amazon_us.tWaitForFile_1Process(facebook_campaigns_amazon_us.java:2322)
    at mava2.facebook_campaigns_amazon_us_0_1.facebook_campaigns_amazon_us.tMysqlConnection_1Process(facebook_campaigns_amazon_us.java:856)
    at mava2.facebook_campaigns_amazon_us_0_1.facebook_campaigns_amazon_us.runJobInTOS(facebook_campaigns_amazon_us.java:5905)
    at mava2.facebook_campaigns_amazon_us_0_1.facebook_campaigns_amazon_us.main(facebook_campaigns_amazon_us.java:5575)
玛拉

我解决了这个问题。在 tFileInputDelimited 元素中,我没有检查 CSV 选项。因为 Talend 读取带有多行 "" 的单元格,所以我必须在 "\"" 上设置转义字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章