繁体   English   中英

第一部分-Java Split String函数

[英]Part I - Java Split String function

我还是java的新手。 我有如下基本的拆分字符串函数。 我需要捕获拆分后的子字符串。 我的问题是如何将单独拆分的部分移动到单独的变量中,而不是打印它们? 我是否需要另一个数组来分别移动它们? 是否有另一种更简单的方法来实现这一目标? 在第一部分中,为简单起见,我假设分隔符为空格。 感谢您的帮助!

public class SplitString {

public static void main(String[] args) {

    String phrase = "First Second Third";
    String delims = "[ ]+";
    String[] tokens = phrase.split(delims);
    String first;
    String middle;
    String last;

    for (int i = 0; i < tokens.length; i++)
    {

        System.out.println(tokens[i]);
                //I need to move first part to first and second part to second and so on

    }

}
}

array[index]访问array 第th个元素,因此

first = tokens[0];  // Array indices start at zero, not 1.
second = tokens[1];
third = tokens[2];

您实际上应该先检查长度,如果要分割的字符串是用户输入,请告诉用户出了什么问题。

if (tokens.length != 3) {
  System.err.println(
      "I expected a phrase with 3 words separated by spaces,"
      + " not `" + phrase + "`");
  return;
}

如果您假设您的String是三个单词,那么这很简单。

String first = tokens[0];
String middle = tokens[1];
String last = tokens[2];
if(tokens.length>3)
{
String first=tokens[0];
String middle=tokens[1];
String last=tokens[2];
}

如果知道拆分后最终要使用的Strings数,则可以像这样简单地分配变量。

 String first = tokens[0];
 String middle = tokens[1];
 String last = tokens[2];

如果令牌的数量未知,那么(据我所知)没有办法将每个令牌分配给一个单独的变量。

谢谢大家...你们所有人都以某种方式回答了我。 最初,我假设输入中只有3个条目,但事实证明它可能会有所不同:)现在,我将坚持简单地直接分配3个变量,直到我想出另一种方式! 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM