亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

使用模式拆分字符串時的空結果

使用模式拆分字符串時的空結果

海綿寶寶撒 2022-07-27 21:29:37
我有以下代碼:String generalRequest = "4+6*12/3";String[] operatorsLine = generalRequest.split("[0-9]+");結果,我有剩余的空值operatorsLine:“”、“+”、“*”、“/”然而我渴望一個結果:“+”、“*”、“/”如何""使用方法跳過將值添加到數組中String.split()?
查看完整描述

3 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

你可以使用類似的東西:

String[] operatorsLine = Arrays.stream(generalRequest.split("[0-9]+"))
                               .filter(s -> !s.isEmpty())
                               .toArray(String[]::new);


查看完整回答
反對 回復 2022-07-27
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

如何為split(String regex, int limit)方法提供第二個參數并使用 2 個輸出字段限制它并再次拆分它:


String generalRequest = "4+6*12/3";

String[] operatorsLine = (generalRequest.split("\\d+", 2)[1]).split("\\d+");

第一次拆分將輸出一個數組:["", "+6*12/3"],然后獲取第一個索引并使用相同的正則表達式再次拆分它。


的最終operatorsLine值為[+,*,/]


查看完整回答
反對 回復 2022-07-27
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

在這種情況下,您只需要單字符運算符,

從字符串中刪除所有數字并使用空字符串作為分隔符進行分割即可:


String generalRequest = "4+6*12/3";

String[] operatorsLine = generalRequest.replaceAll("\\d", "").split("");

System.out.println(Arrays.toString(operatorsLine));

這打?。?/p>


[+, *, /]


查看完整回答
反對 回復 2022-07-27
  • 3 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號