[英]Splitting a string up in java as it is pulled from a list?
我正在尋找一個字符串列表,當我遍歷整個列表時,將以下內容想象為列表。
["StringA.StringB.StringC"]["StringA.StringB.StringC"]["StringA.StringB.StringC"]["StringA.StringB.StringC"]
所以我想遍歷列表,拔出每個字符串( "StringA.StringB.StringC"
)
然后要以"."
分隔"."
並將StringA分配給一個String變量-將String B分配給一個變量,並將C分配給字符串C。執行一些工作,然后繼續進行下一個。
任何想法我該怎么做?
這是一個相當簡單的任務。 只需使用foreach遍歷列表,然后在上拆分字符串即可.
字符。
for(String s: list) {
String[] splitString = s.Split("\\.");
// do work on the 3 items in splitString
}
變量splitString
的長度為3。
當然! 您只需要String#split()
。
for (String s : myList)
{
String[] tokens = s.split("\\.");
// now, do something with tokens
}
您需要在split()
參數中轉義句點,因為該字符串被解釋為正則表達式模式 ,並且未轉義的句點( "."
)將匹配任何字符- 不是您想要的字符!
List<String> strings=new ArrayList<String>();
for (String s:stringList){
strings.addAll(Arrays.asList(s.split("\\.")));
}
那么您將所有字符串都放在一個列表中,然后可以對其進行迭代。
因此,您有一個String []列表,它們是串聯的字符串。 除非這是某種傳統數據結構,否則您可能會更好地以某種方式使其更加統一。
無論如何,迭代非常簡單-
List<String[]> l = ....
for (String[] outer: l) {
for (String s: outer){
for (String inner: s.split("\\.")) // s.split takes a regex and returns a String[],
// inner has your inner values now
要遍歷列表,請參見http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html
要拆分字符串,請使用String.split(regex)
。
String類具有split(String regex)
方法,該方法通過正則表達式拆分字符串。 如果不想麻煩處理正則表達式,可以使用Apache Commons Lang中非常方便的StringUtils類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.