簡體   English   中英

從列表中提取字符串時會在Java中拆分字符串嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM