我有下面格式的字符串。
"resourceId=/subscriptions/subscription_id/resourceGroups/rg_name/providers/Microsoft.Compute/virtualMachines/resource_name/i=xxxxxxxxx/y=2021/m=03/d=13/h=15/m=00/PT1H.json"
我尝试以下面的方式获取子字符串,理想情况下基于“/”拆分字符串,并获取字符串的第一部分,直到resource_name:
/subscriptions/subscription_id/resourceGroups/rg_name/providers/Microsoft.Compute/virtualMachines/resource_name
如何在java中使用substring或regEx来实现这种格式?
已编辑
在给定的字符串中,resource_name将替换为vm_name或akv_name。字符串中永远不会是resource_name,已给出通用名称。
基本上,我需要从一开始就一直到virtualMachines,并获取resource_name,它被一个斜杠附加在virtualMachines后面
那么在这种情况下。怎么处理?
3条答案
按热度按时间rryofs0p1#
有几种方法可以做到这一点。
您可以使用
Pattern
和Matcher
,通过正则表达式捕获来隔离数据。或者,您可以使用
replace
过程删除不需要的数据。或者,最后,您可以使用
indexOf
过程来获取substring
方法的结束索引。由于简单,我推荐最后一个选项。
考虑下面的方法
parse
,该方法将String
值作为第一个参数,将开始和结束String
值作为第二个和第三个参数。下面是它的用法示例。
输出量
ljo96ir52#
我有两个解决办法。使用indexOf:
使用replaceAll:
在我看来,它工作得很好。希望这些能给予你帮助。
js4nwp543#
你可以这样做