แยกสตริงที่ว่างเปล่ากับString.split ()ส่งกลับอาร์เรย์องค์ประกอบเดียวที่มีสตริงที่ว่างเปล่า ในกรณีส่วนใหญ่คุณอาจต้องการที่จะได้รับอาร์เรย์ที่ว่างเปล่าหรือโมฆะถ้าคุณผ่านในโมฆะซึ่งเป็นสิ่งที่คุณได้รับกับorg.apache.commons.lang3.StringUtils.split (STR)
import org.apache.commons.lang3.StringUtils;
StringUtils.split(null) => null
StringUtils.split("") => []
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split("abc def") => ["abc", "def"]
StringUtils.split(" abc ") => ["abc"]
อีกทางเลือกหนึ่งคือ google guava Splitter.split ()และSplitter.splitToList ()ซึ่งส่งคืนตัววนซ้ำและรายการที่สอดคล้องกัน ซึ่งแตกต่างจาก Apache เวอร์ชัน Splitter ที่จะเปิด NPE บนnull
:
import com.google.common.base.Splitter;
Splitter SPLITTER = Splitter.on(',').trimResults().omitEmptyStrings();
SPLITTER.split("a,b, c , , ,, ") => [a, b, c]
SPLITTER.split("") => []
SPLITTER.split(" ") => []
SPLITTER.split(null) => NullPointerException
หากคุณต้องการรายการมากกว่า iterator แล้วใช้Splitter.splitToList ()
String[] ary = new String[] { "name" };
ว่าคุณต้องการดำเนินการอะไร แยกตัวอักษรเช่น?