Java 是否有子字符串(开始、长度)函数?
我正在尝试使用与C#的Java 是否有子字符串(开始、长度)函数?,java,string,substring,Java,String,Substring,我正在尝试使用与C#的string.SubString(int start,int length)类似的方法 但是Java中的substring函数是string.substring(int start,int end) 我希望能够将起始位置和长度传递给substring函数 有人能帮我解决这个问题吗?是的 ,int) 公共字符串子字符串(int beginIndex, 内部索引) 你只需要稍微计算一下就可以得到endIndex。它可能是这样的 String mySubString(String
string.SubString(int start,int length)
类似的方法
但是Java中的substring函数是string.substring(int start,int end)
我希望能够将起始位置和长度传递给substring函数
有人能帮我解决这个问题吗?是的
,int)
公共字符串子字符串(int beginIndex,
内部索引)
你只需要稍微计算一下就可以得到endIndex。它可能是这样的
String mySubString(String myString, int start, int length) {
return myString.substring(start, Math.min(start + length, myString.length()));
}
您可以通过使用字符串的
不,但是你可以很容易地编写一个,或者适当地修改你的代码。那么呢?然后他应该用它和他的头来计算期望值。没有那么难,他编辑了他的问题,我只是看到了他以前的版本。我不是说这很难,我是说这不是一个答案,因为你告诉OP他/她在问题中已经提到了什么。我没有看到预编辑的问题,但应根据最新编辑修改答案。这是吹毛求疵,但您建议的方法与C#string.Substring()方法不同。C#方法总是返回长度为指定长度的字符串,否则将失败。您的方法更具容错性,但其副作用是返回的字符串可能短于指定的长度。现在,对于一些超级挑剔:您犯了与OP相同的错误,并将方法称为“SubString”而不是“SubString”。-)向下投票,因为它不考虑编码为一个以上字节的字符(UTF-8是Java的默认编码)
new String(input.getBytes(),start,length);