Java 是不是有 String.Remove() 等价物?

Posted

技术标签:

【中文标题】Java 是不是有 String.Remove() 等价物?【英文标题】:Is there a String.Remove() equivalent for Java?Java 是否有 String.Remove() 等价物? 【发布时间】:2020-09-20 23:41:34 【问题描述】:

是否有 C# 的 String.Remove() 等效于 Java?

我在使用 string.Remove(text.Length, text.Length) 时从来没有遇到过任何问题,我会知道在 Java 中是否有与此相同的等价物。

例子:

string text = "abcdef";
text = text.Remove(text.Length / 2, text.Length / 2); // becomes abc

【问题讨论】:

有一个字符串 API 文档可能很有价值。具有讽刺意味的是,我懒得粘贴网址。 @DaveNewton 你去吧:String#substring 请注意,您是expected,在发帖之前请自行研究。 @ShiningLea 虽然我没有以可接受的方式表达它,但我的观点是:我个人更喜欢尽职调查。 SO 还希望在提出这样的问题之前进行一定量的研究,这两者都可以轻松搜索(即使在允许查看 String Javadocs 并不是花几分钟最愉快的方式之后(尽管这样做是具有指导意义的是迫切需要))并在这里和其他地方复制。 【参考方案1】:

这样的函数不是 String 类的一部分,我不知道有任何其他实用程序类提供此功能。

但您始终可以编写自己的版本:

public static String remove(String str, int startIndex, int count) 
    return str.substring(0, startIndex) + str.substring(startIndex + count);

或者,如果您想使用 String.Remove 的单参数重载(在您的示例中似乎就足够了),那就更简单了:

str.substring(0, startIndex);

【讨论】:

以上是关于Java 是不是有 String.Remove() 等价物?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 constexpr string_view 上使用 std::string_view::remove_prefix()

C# string

从单词中删除一个字母[重复]

您是不是有 Java 8 功能接口列表(不是 java.util.function 中列出的接口)?

java 判断文件是不是有扩展名

java 程序无论是不是有异常都有返回值?代码怎么处理?