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