第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解析僅包含數(shù)組列表部分需要的值的字符串?

如何解析僅包含數(shù)組列表部分需要的值的字符串?

POPMUISE 2023-06-14 16:38:04
我有一個看起來像這樣的字符串:String a = "name:string, age:int, address:string,city:string, zip:int";字符串由,and分隔,:它之間是fieldNameand type。每個值之間可能有空格,但應(yīng)忽略任何空格。我想要的是將這個字符串轉(zhuǎn)換成一個只有 contents 的 arrayList fieldName。所以上面的例子會變成List<String> result = new ArrayList<>;結(jié)果中應(yīng)該有 的值name, age, address, city, zip。其他一切都應(yīng)該被忽略。我如何使用 Java 中的正則表達式執(zhí)行此操作?我可以通過首先執(zhí)行拆分然后將,字符串?dāng)?shù)組拆分:,然后將數(shù)組的第一個元素添加到列表中來實現(xiàn)這一點。我問的原因是因為我想知道是否有更優(yōu)雅的方法來使用正則表達式來做到這一點。
查看完整描述

2 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

String[] b = a.split(":[^,]+(?:, *)?");

或者:

String[] b = Pattern.compile("[^, ]+(?=:)").matcher(a).results()
                    .map(r -> r.group()).toArray(String[]::new);


查看完整回答
反對 回復(fù) 2023-06-14
?
蝴蝶刀刀

TA貢獻1801條經(jīng)驗 獲得超8個贊

以下正則表達式將為您提供所需的結(jié)果

[a-z]+[^,?](?=:)

第一個括號稱為向前看,因此將選擇 : 之前的任何內(nèi)容,第一組括號表示我們需要任何字符 az(注意這些區(qū)分大小寫,因此如果可以使用大寫,請?zhí)砑?+[AZ]),最后一組括號表示不,或空格

要在 Java 中使用它,您需要按照以下方式編寫一些內(nèi)容

Pattern.compile("[a-z]+[^,?](?=:)")
???????.matcher(a)
???????.find();
查看完整回答
反對 回復(fù) 2023-06-14
  • 2 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號