gpt4 book ai didi

java - 如何在java中将字符串拆分为列

转载 作者:行者123 更新时间:2023-12-02 04:38:01 25 4
gpt4 key购买 nike

我正在使用 Talend 解析具有以下类型行的文件,我已尝试使用 tFileInputDelimted 组件来解析它,但文本封闭符“'”不起作用。

1, 0, 1, 73, 0, 'root.1', 'Root Asset', '{"site":{"6":1,"2":1},"core":{"6":1}}'

我需要以下格式的输出。

1
0
1
73
0
root.1
Root Asset
{"site":{"6":1,"2":1},"core":{"6":1}}

编辑:示例行

`90, 'Loader Menu', '', '<div class="arrowlistmenu">\r\n<h3 class="menuheader"><a href="index.php/component/ordersoncalendar">View Orders</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/reportmaster/?task=report_details">Time Sheets</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/availabilitycalendar?task=availability">Update Availability</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/workers?task=update_personal_info">Update Personal Information</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><strong><a href="index.php/component/workers?task=ask_password_change">Change Password</a></strong></h3>\r\n<div class="shrink_div"> </div>\r\n</div>', 1, 'loader-menu-position', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1, 'mod_custom', 2, 1, '{"prepare_content":"1","backgroundimage":"","layout":"_:default","moduleclass_sfx":"","cache":"1","cache_time":"900","cachemode":"static"}', 0, '*'`

该行的预期输出是。

90
'Loader Menu'
''
'<div class="arrowlistmenu">\r\n<h3 class="menuheader"><a href="index.php/component/ordersoncalendar">View Orders</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/reportmaster/?task=report_details">Time Sheets</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/availabilitycalendar?task=availability">Update Availability</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><a href="index.php/component/workers?task=update_personal_info">Update Personal Information</a></h3>\r\n<div class="shrink_div"> </div>\r\n<h3 class="menuheader"><strong><a href="index.php/component/workers?task=ask_password_change">Change Password</a></strong></h3>\r\n<div class="shrink_div"> </div>\r\n</div>'
1
'loader-menu-position'
0
'0000-00-00 00:00:00'
'0000-00-00 00:00:00'
'0000-00-00 00:00:00'
1
'mod_custom'
2
1
'{"prepare_content":"1","backgroundimage":"","layout":"_:default","moduleclass_sfx":"","cache":"1","cache_time":"900","cachemode":"static"}'
0
'*'

正如我所说的文件有数百万行,很难将所有行格式放在这里,但至少我们得到了一些可以解析以上行的东西,那么这也是可以接受的。请建议我如何实现它,因为该文件有数百万条记录。

最佳答案

您可以使用以下正则表达式:

\\s*,\\s*(?=(?:(?:[^']*'){2})*[^']*$)

参见DEMO

关于java - 如何在java中将字符串拆分为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30531063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com