【问题标题】:How to store the first token in a variable and append it to the third token?如何将第一个标记存储在变量中并将其附加到第三个标记?
【发布时间】:2015-12-25 16:54:23
【问题描述】:

我有一个带有多个标记的字符串,我想要做的是,我想将第一个标记 [3:0] 存储在一个变量中,并将其附加到第三个和第四个标记并将其存储在一个列表中。

String myStr1 = "[3:0] req0, req1, req2, req3";

我想对字符串进行标记并在数组中获取 [3:0]、req0、req1、req2、req3 并将 [3:0] 附加到 req0、req1、req2、req3 并且新字符串应如下所示: [3:0] req0, [3:0] req1, [3:0] req2, [3:0] req3

请帮忙!

【问题讨论】:

  • String#split("\\s+")String.replace(',',',')
  • 我假设您至少已经尝试过一些东西,那么请分享社区可以更轻松地纠正,而不是让我们编写整个代码。请阅读stackoverflow.com/help/how-to-ask 这将帮助您重新表述您的问题,以便您得到潜在的答案。

标签: java regex string append tokenize


【解决方案1】:
String parts[] = myStr1.split("\\s+");

String prefix = parts[0];
StringBuffer finalString = new StringBuffer();

for(int i=1;i<parts.length;i++){
finalString.append(prefix);
finalString.append(parts[i]);
finalString.append(",");
}

System.out.print(finalString.toString());

【讨论】:

  • 纯代码答案被认为是低质量的。请添加说明。另外,请确保正确缩进。
【解决方案2】:

您可以使用StringBuilderStringBuffer

例如:

StringBuilder sb = new StringBuilder();
// Appending 
sb.append(token1); /what ever token you need.
sb.append(token3);
sb.append(token6);

//toString go get it in string format.
String finalString = sb.toString();

【讨论】:

  • 我认为问题的重点更多是关于标记而不是附加。无论如何,当不在循环中时,编写token1 + token3 + token6 更易读——Java 编译器将在内部使用StringBuilder 实现它,因此效率不低。
猜你喜欢
  • 2018-12-08
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
  • 1970-01-01
  • 2014-03-20
  • 2021-07-08
  • 1970-01-01
相关资源
最近更新 更多