首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能更有效地在Java中重建字符串?

是否有可能更有效地在Java中重建字符串?
EN

Stack Overflow用户
提问于 2014-04-27 08:23:46
回答 5查看 374关注 0票数 3

我正在折断一根可能有5到8个记号的字符串。

代码语言:javascript
复制
String [] tweet = line.split(",");
String input =tweet[1];

我想巧妙地更改input,然后简单地用另一个处理过的字符串替换它,而tweet数组中的所有内容都保持不变。我可以通过形成如下字符串来执行硬代码:

代码语言:javascript
复制
tweet[0]+","+stop_word_less_tweet+","+tweet[2]+","+tweet[3]+ and so on..

但我相信还有更好的方法。

我正在分割一条tweet行,它可能有5-8标记,这取决于它提取的哈希标签。我在tweet1上删除了tweet文本本身中的停止词。现在,我希望能够用新构建的stop_word_less_tweet重新构建整个tweet行,这样它就可以在一起了。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-04-27 08:35:05

因为您只想更改tweet[1]的内容,所以不必将文本拆分为5-8标记。使用带有限制的split在以下三个元素处拆分它

  • 第一个元素将包含第一个令牌。
  • 第二个元素将包含第二个令牌(包含要删除的单词)
  • 第三个元素将包含像token3,token4,...这样的剩余令牌。

试着

代码语言:javascript
复制
String [] tweet = line.split(",", 3);//
String stop_word_less_tweet = change(tweet[1]);

String result = tweet[0] + "," + stop_word_less_tweet + "," + tweet[2];

这样,result将始终由3个元素创建,因此您不必担心动态添加这些5-8令牌。只是连在一起:

  • tweet[0]
  • stop_word_less_tweet
  • tweet[2]

Java编译器将使用StringBuilder为您编译它,如

代码语言:javascript
复制
String result = new StringBuilder(tweet[0])
                .append(",")
                .append(stop_word_less_tweet)
                .append(",")
                .append(tweet[2])
                .toString();

所以你不应该在表现上有问题。

票数 3
EN

Stack Overflow用户

发布于 2014-04-27 08:27:04

您可能想看看StringBuffer和StringBuilder类(http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html)。它们在处理字符串时效率要高得多。您可以搜索有问题的输入并用replace方法替换它。

票数 1
EN

Stack Overflow用户

发布于 2014-04-27 08:27:41

将其用于效率和可读性目的:

代码语言:javascript
复制
StringBuilder buffer = new StringBuilder();
buffer.append("hello, ");
buffer.append("world");
String output = buffer.toString();

就你而言:

代码语言:javascript
复制
String[] tweets = line.split(",");
StringBuilder buffer = new StringBuilder();
for (String tweet : tweets) buffer.append(tweet);
System.out.println(buffer.toString());

有用的资源:

这个博客

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23321068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档