栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否有与Python的Easy String Splicing等效的Java?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否有与Python的Easy String Splicing等效的Java?

抱歉,Java的

substring
灵活性不如Python的slice表示法。

特别是:

  • 您可以给它一个开始,也可以给它一个开始和结束,而不仅仅是结束。(此外,没有步骤,但是您不会那么想念它。)
  • 负索引是错误,而不是末尾的计数。

您可以在此处查看文档。

但是,自己编写此代码并不难:

public String slice_start(String s, int startIndex) {    if (startIndex < 0) startIndex = s.length() + startIndex;    return s.substring(startIndex);}public String slice_end(String s, int endIndex) {    if (endIndex < 0) endIndex = s.length() + endIndex;    return s.substring(0, endIndex);}public String slice_range(String s, int startIndex, int endIndex) {    if (startIndex < 0) startIndex = s.length() + startIndex;    if (endIndex < 0) endIndex = s.length() + endIndex;    return s.substring(startIndex, endIndex);}

将其作为某些实用程序类的静态方法。

显然,这与Python并不完全相同,但是它可能处理了您想要的所有情况,并且非常简单。如果要处理其他边缘情况(包括诸如step和四处传递切片之类的事情),则可以添加所需的任何其他代码;例如,这些都不是特别棘手的。


其他顺序基本上是相同的,但是您会想要

subSequence
代替
substring
。(您也可以
subSequence
在字符串上使用,因为a
String
是一个
CharSequence
。)

数组实际上根本不是一种序列;您将需要编写明确创建新数组并复制子数组的代码。但这还不算复杂。


请注意,您可能想寻找一个已经为您完成的库。此页面上的其他答案中至少有3个链接,这使搜索变得容易。:)(您可能仍然想为自己做一次,只是为了了解这些库的工作原理,但是对于生产代码,我宁愿使用一个其他人已经弄清楚并测试了所有极端情况的库,而不是重新实现车轮并处理它们,以防它们陷入单元测试或现场错误中……)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号