繁体   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