C#字符串去重复问题,新手求助
现在遇到这一问题,如果两个字符串中,有连续相同的4个字,那么就返回true。
例
strone="天成软件公司";
strthree="中国山东变压器厂";
strtwo="北京天成软件技术有限责任公司";
strfour="河北变压器厂";
strone 和strtwo都有"天成软件"这四个字。返回true
strthree和strfour都有"变压器厂"这四个字,返回true
我现在写个一个方法可是出错了。希望大家指教
public static Boolean UniqueValue(String strone,String strtwo)
{
String str = strone;
String stronezi="";
for (int i = 0; i < strone.Length-4;i++ )
{
stronezi=strone.Substring(i,i+4); //得出第一个字符串的四个字符
if (strtwo.Contains(stronezi)) //比较
{
return true;
}
}
return false;
}
------解决方案--------------------修改如下
C# code
public static Boolean UniqueValue(String strone, String strtwo)
{
String str = strone;
String stronezi = "";
for (int i = 0; i <= strone.Length - 4; i++)
{
stronezi = strone.Substring(i, 4); //得出第一个字符串的四个字符
if (strtwo.Contains(stronezi)) //比较
{
return true;
}
}
return false;
}
------解决方案--------------------
代码已经写过,你测试一下看看,我觉得你对Substring方法的重载在理解上有一些误区,第二个参数是要截取的固定长度,而不是结束位置