【问题标题】:How to trim String from the back in Java?如何在Java中从后面修剪字符串?
【发布时间】:2017-05-16 02:40:49
【问题描述】:

我有这样的字符串:

"ahfckhs_aidewiofh_asa_rrresf"

我必须从后面修剪这个。

修剪后的String 将是"ahfckhs_aidewiofh_asa"

我必须使用 JsonObject 编写检索解析器的代码。

我认为我可以编写具有键和值的简单解析器,但 rev-parser 对我来说太难了。

【问题讨论】:

  • 您要删除一定数量的字符,还是要根据某种模式删除?
  • 谢谢,很抱歉我忘了写关于模式的内容。
    我想用'_'下划线分隔字符串。
  • 这个问题不是很清楚。正如 Radiodef 所说,您希望它基于某种模式,还是只删除最后几个字母?

标签: java string


【解决方案1】:

查看Stringhere 的文档。

您可以使用substringlastIndexOf 方法:

String str = "ahfckhs_aidewiofh_asa_rrresf";
String trimmed = str.substring(0, str.lastIndexOf("_"));
System.out.println(trimmed);

输出:

ahfckhs_aidewiofh_asa

【讨论】:

  • 这似乎是最简单的方法。虽然没有“_”的字符串会发生什么?
  • lastIndexOf 如果没有找到搜索到的字符串,则返回-1,所以int u = str.lastIndexOf("_"); String trimmed = (u != -1) ? str.substring(0, u) : str;
  • 这绝对是脆弱的代码,但我不确定除了简单的测试用例之外的确切要求。我认为文档的链接是我回答的最佳部分!
  • 谢谢你们!现在我知道我需要阅读更多 API……至少这次我可以学习 'lastIndexOf'。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
相关资源
最近更新 更多