您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

抱歉,Java的substring灵活性不如Python的切片符号。

特别是:

您可以在此处查看文档。

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

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在字符串上使用,因为aString一个CharSequence。)

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

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

python 2022/1/1 18:42:49 有281人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶