Java 相当于 Php substr()
Java equivalent of Php substr()
我是一名 Java 开发人员,但我需要一个代码将 PHP 转换为 Java。
我需要一个函数,它在 Java 中给出与 PHP 函数 substr 相同的结果(因为 Java 不取负值,而 php 取负值)。
例如:
$string = "I am not lonely man";
$sub = $substr($string,1,-3);
编辑:正确答案:-
public String substr(String string,int from,int to){
if(from < 0 && to < 0){
if(Math.abs(from) > Math.abs(to)){
String s = string.substring(string.length()-Math.abs(from));
return s.substring(s.length()-Math.abs(to));
}else{
return "";
}
}else if(from >= 0 && to < 0){
String s = string.substring(from);
if(Math.abs(to) >= s.length()){
return "";
}else{
return s.substring(0,s.length()-Math.abs(to));
}
}else if(from < 0 && to >= 0){
String s = string.substring(string.length()-Math.abs(from));
if(to >= s.length()){
return s;
}
return s.substring(0,to);
}else{
String s = string.substring(Math.abs(from));
if(to >= s.length()){
return s;
}else{
return s.substring(0, Math.abs(to));
}
}
}
输出:我并不孤单
你可以这样写:
String string = "I am not lonely man";
String sub = string.substring(1, string.length() - 3);
我认为你自己给出了答案:Java 不知道负指数......所以你必须自己计算它们。因此,您可以提供自己的允许负索引的子字符串实用程序方法;您只需要根据传入字符串的长度进行计算即可。
自己计算相对容易,但如果您想要处理此类事情的便捷方法,请考虑使用 Apache StringUtils。
我是一名 Java 开发人员,但我需要一个代码将 PHP 转换为 Java。 我需要一个函数,它在 Java 中给出与 PHP 函数 substr 相同的结果(因为 Java 不取负值,而 php 取负值)。
例如:
$string = "I am not lonely man";
$sub = $substr($string,1,-3);
编辑:正确答案:-
public String substr(String string,int from,int to){
if(from < 0 && to < 0){
if(Math.abs(from) > Math.abs(to)){
String s = string.substring(string.length()-Math.abs(from));
return s.substring(s.length()-Math.abs(to));
}else{
return "";
}
}else if(from >= 0 && to < 0){
String s = string.substring(from);
if(Math.abs(to) >= s.length()){
return "";
}else{
return s.substring(0,s.length()-Math.abs(to));
}
}else if(from < 0 && to >= 0){
String s = string.substring(string.length()-Math.abs(from));
if(to >= s.length()){
return s;
}
return s.substring(0,to);
}else{
String s = string.substring(Math.abs(from));
if(to >= s.length()){
return s;
}else{
return s.substring(0, Math.abs(to));
}
}
}
输出:我并不孤单
你可以这样写:
String string = "I am not lonely man";
String sub = string.substring(1, string.length() - 3);
我认为你自己给出了答案:Java 不知道负指数......所以你必须自己计算它们。因此,您可以提供自己的允许负索引的子字符串实用程序方法;您只需要根据传入字符串的长度进行计算即可。
自己计算相对容易,但如果您想要处理此类事情的便捷方法,请考虑使用 Apache StringUtils。