gpt4 book ai didi

java - 如何在java中分割这个字符串需要正则表达式?

转载 作者:行者123 更新时间:2023-11-30 07:27:19 24 4
gpt4 key购买 nike

我需要分割这个字符串:

COMITATO: TRIESTE Indirizzo legale: VIA REVOLTELLA 39 34139 
Trieste (Trieste) Mob.: 3484503368 Fax: 040310096 Sito web: www.csentrieste.it/

想要的结果必须是一个数组,例如:

{COMITATO:,TRIESTE,Indirizzo legale:,VIA REVOLTELLA 39 34139 
Trieste (Trieste) ,Mob.:,3484503368,Fax:,Sito web:,www.csentrieste.it/}

问题还在于字符串的某些属性可能会丢失,因此我无法使用“COMITATO:”或“Indirizzo legale:”等属性的标题进行拆分

示例:如果“Indirizzo legale:”其缺失的字符串将显示为:

COMITATO: TRIESTE Mob.: 3484503368 Fax: 040310096 Sito web: www.csentrieste.it/

最佳答案

好吧,这个正则表达式将解析您给定的输入:

(?<firstname>.*?):\s*(?<lastname>\w+)(?:(?<occupation>[^:]+):\s*(?<address>.+\n.+))?\sMob.:\s*(?<mobile>\d+)\s*Fax:\s*(?<fax>\d+)\s*Sito web:\s*(?<website>.*)

我们可以通过使用命名组来挽救结果的可读性和轻松访问性。正则表达式并没有什么太聪明的地方,我们只是爬行字符串,使用我们可以锚定模式的静态结构:冒号、“Mob”、“Fax”和“Sito web”。显然,“可能丢失”的地址部分是可选的。

regex demo here

关于java - 如何在java中分割这个字符串需要正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650745/

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