3 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
就是split那樣 它使用定界符對(duì)字符串進(jìn)行分割,并且即使不是空字符串(即使不是最后一個(gè)字符串),也保留字符串(即使為空)(排除空字符串)。但是在這種情況下,我建議您orderList在分割之前先檢查一下您的內(nèi)容,#如果它是第一個(gè)字符,則將其刪除:
String[] orders;
if (orderList.charAt(0) == '#') {
orders = orderList.substring(1).split("#");
} else {
orders = orderList.split("#");
}

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
因?yàn)橐鸱值淖址阅x擇的定界符(#
)開(kāi)始,所以在數(shù)組的開(kāi)頭會(huì)得到一個(gè)空字符串。您可以通過(guò)在拆分之前從一開(kāi)始將其刪除(String.substring(int)
例如使用方法)來(lái)防止它。
解決方案示例:
String[] orders = orderList.substring(1).split("#");

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
我認(rèn)為問(wèn)題是由于您要在訂單字符串的開(kāi)頭附加“?!薄?/p>
拆分的工作方式是,它將在每個(gè)“#”處斷開(kāi)訂單字符串,并在訂單字符串的開(kāi)頭立即遇到第一個(gè)“?!保虼嗽撟侄螢榭?。
根據(jù)您的要求,您可以避免在開(kāi)始時(shí)添加此“?!?,或者在吐出之前刪除“#”,或者忽略分散數(shù)組的元素。
希望這可以澄清。
添加回答
舉報(bào)