在Java子字符串中跳过起始和结束字符索引的方法?
我想看看是否有一种方法可以跳过子字符串函数中的开始索引和结束索引,因为子字符串传统上包括开始索引和结束索引。 比如说,在Java子字符串中跳过起始和结束字符索引的方法?,java,Java,我想看看是否有一种方法可以跳过子字符串函数中的开始索引和结束索引,因为子字符串传统上包括开始索引和结束索引。 比如说, String str="Hello 42 World!"; int hello=str.indexOf("Hello"); int world=str.indexOf("World!"); int fortytwo=customSubstringMethod(str,hello,world);//should be 42. 任何关于如何做到这一点的见解都将不胜感激 无需检查错
String str="Hello 42 World!";
int hello=str.indexOf("Hello");
int world=str.indexOf("World!");
int fortytwo=customSubstringMethod(str,hello,world);//should be 42.
任何关于如何做到这一点的见解都将不胜感激 无需检查错误条件的快速且肮脏的解决方案:
public static void main(String[] args) {
String str="Hello 42 World!";
System.out.println(customSubstringMethod(str, "Hello", "World!"));
}
private static String customSubstringMethod(String str, String start, String stop) {
return str.substring(str.indexOf(start) + start.length(), str.indexOf(stop));
}
除此之外,您还需要了解前缀字符串的索引。长度也是必需的。无需检查错误条件的快速且脏的解决方案:
public static void main(String[] args) {
String str="Hello 42 World!";
System.out.println(customSubstringMethod(str, "Hello", "World!"));
}
private static String customSubstringMethod(String str, String start, String stop) {
return str.substring(str.indexOf(start) + start.length(), str.indexOf(stop));
}
除此之外,您还需要了解前缀字符串的索引。长度也是必需的。无需检查错误条件的快速且脏的解决方案:
public static void main(String[] args) {
String str="Hello 42 World!";
System.out.println(customSubstringMethod(str, "Hello", "World!"));
}
private static String customSubstringMethod(String str, String start, String stop) {
return str.substring(str.indexOf(start) + start.length(), str.indexOf(stop));
}
除此之外,您还需要了解前缀字符串的索引。长度也是必需的。无需检查错误条件的快速且脏的解决方案:
public static void main(String[] args) {
String str="Hello 42 World!";
System.out.println(customSubstringMethod(str, "Hello", "World!"));
}
private static String customSubstringMethod(String str, String start, String stop) {
return str.substring(str.indexOf(start) + start.length(), str.indexOf(stop));
}
除此之外,您还需要了解前缀字符串的索引。长度也是必需的。Java API中没有这样的方法,但您可以创建一个包装器来实现这一点:
public static String customSubstring(String str, int start, int end) {
return str.substring(start+1,end);
}
顺便说一句,注意indexOf,它总是返回出现的第一个字符的索引:
String str="Hello 42 World!";
int hello=str.indexOf("Hello"); //returns 0
int world=str.indexOf("World!"); // returns 9
int fortytwo=customSubstring(str,hello,world);//returns "ello 42 "
因此,对于第一个索引,您应该使用:
String h="Hello";
int hello=str.indexOf(h)+h.length;
Java API中没有这样的方法,但您可以创建一个包装器来实现这一点:
public static String customSubstring(String str, int start, int end) {
return str.substring(start+1,end);
}
顺便说一句,注意indexOf,它总是返回出现的第一个字符的索引:
String str="Hello 42 World!";
int hello=str.indexOf("Hello"); //returns 0
int world=str.indexOf("World!"); // returns 9
int fortytwo=customSubstring(str,hello,world);//returns "ello 42 "
因此,对于第一个索引,您应该使用:
String h="Hello";
int hello=str.indexOf(h)+h.length;
Java API中没有这样的方法,但您可以创建一个包装器来实现这一点:
public static String customSubstring(String str, int start, int end) {
return str.substring(start+1,end);
}
顺便说一句,注意indexOf,它总是返回出现的第一个字符的索引:
String str="Hello 42 World!";
int hello=str.indexOf("Hello"); //returns 0
int world=str.indexOf("World!"); // returns 9
int fortytwo=customSubstring(str,hello,world);//returns "ello 42 "
因此,对于第一个索引,您应该使用:
String h="Hello";
int hello=str.indexOf(h)+h.length;
Java API中没有这样的方法,但您可以创建一个包装器来实现这一点:
public static String customSubstring(String str, int start, int end) {
return str.substring(start+1,end);
}
顺便说一句,注意indexOf,它总是返回出现的第一个字符的索引:
String str="Hello 42 World!";
int hello=str.indexOf("Hello"); //returns 0
int world=str.indexOf("World!"); // returns 9
int fortytwo=customSubstring(str,hello,world);//returns "ello 42 "
因此,对于第一个索引,您应该使用:
String h="Hello";
int hello=str.indexOf(h)+h.length;
试试这个
private static String subStringMethod(String value,String start, String end)
{
return value.substring(value.indexOf(start)+start.length(), value.indexOf(end)).trim();
}
试试这个
private static String subStringMethod(String value,String start, String end)
{
return value.substring(value.indexOf(start)+start.length(), value.indexOf(end)).trim();
}
试试这个
private static String subStringMethod(String value,String start, String end)
{
return value.substring(value.indexOf(start)+start.length(), value.indexOf(end)).trim();
}
试试这个
private static String subStringMethod(String value,String start, String end)
{
return value.substring(value.indexOf(start)+start.length(), value.indexOf(end)).trim();
}
@Harmlezz OP只是要求一个方法来排除两个索引,而indexOf包括起始索引。我在示例中非常清楚地提到,它应该返回“42”,而不是“ello 42”。显然,这并不能解决问题。我指出您误用了indexOf方法,并添加了正确的用法(考虑子字符串的长度。阅读全文answer@HarmlezzOP只是要求一个方法来排除这两个索引,而indexOf包含起始索引。我在示例中非常清楚地提到,它应该返回“42”,而不是“ello 42”。显然这并不能解决问题。我指出您误用了indexOf方法,并添加了正确的用法(考虑子字符串的长度。阅读全文answer@HarmlezzOP只是要求一个方法来排除这两个索引,而indexOf包含起始索引。我在示例中非常清楚地提到,它应该返回“42”,而不是“ello 42”。显然这并不能解决问题。我指出您误用了indexOf方法,并添加了正确的用法(考虑子字符串的长度。阅读全文answer@HarmlezzOP只是要求一个方法来排除这两个索引,而indexOf包含起始索引。我在示例中非常清楚地提到,它应该返回“42”,而不是“ello 42”。显然这并不能解决问题。我指出您误用了indexOf方法,并添加了正确的用法(考虑到子字符串的长度)。请阅读整个答案