Java中的两个字符串区域比较

时间:2018-08-27 05:50:56

标签: java string

我有两个字符串(str1,str2),用例是这样的

1)比较str1中的最后i个字符和str2中的前i个字符

2)比较str1中的前i个字符和str2中的后i个字符

我知道如何在c ++中执行以下操作

int len1 = str1.length();
int len2 = str2.length();

1)

str1.compare(len1-i, i, str2, 0, i)

2)

str1.compare(0, i, str2, len2-i, i)

如何使用regionMatches方法或其他方法在Java中实现相同的功能。无法确定。

2 个答案:

答案 0 :(得分:2)

通过简单地查看API文档应该很容易弄清楚。 ;)

https://docs.oracle.com/javase/10/docs/api/index.html?java/lang/String.html

至少有两个选项供您选择:

A)

str1.endsWith(str2.substring(i))
str2.endsWith(str1.substring(i))

B)

假设(因此无法验证)两个字符串都至少包含 i 个字符:

str1.regionMatches(0, str2, str2.length() - i - 1, i)
str1.regionMatches(str1.lenght() - i - 1, str2, 0, i)

答案 1 :(得分:1)

在Java中,您可以通过regionMatches完成它:

SET @rn := 0;
UPDATE yourTable
SET colAuto = (SELECT @rn := @rn + 1 )
ORDER BY ad_id;

结果:

String str1 = new String("Hello, How are you"); String str2 = new String("How do you do?"); System.out.print("Result of Test1: " ); System.out.println(str1.regionMatches(7, str2, 0, 3));