如何比较2个字符串并找到百分比差异?我是C#的新手。我有2个代表IPA字符的字符串。字符串1-e???dfɑks?zh??g?i字符串2-e?t?tfoks?ne?s?n?e?i现在我需要比较字符串1和字符串2,找出字符串2与字符串1的不同之处。我需要这个值作为百分比值。我怎样才能做到这一点?一个小的代码示例会对我有很大帮助。感谢您的帮助。你应该知道你的字符串度量标准是什么另外,看看这个如何找到两个字符串之间的差异-C#问题。这个是一个字符一个字符地比较,和LlevenshteinDistance不一样,LlevenshteinDistance在比较字符串差异的时候更常见。voidMain(){stringstr1="e???dfɑks?zh??g?i";stringstr2="e?t?tfoks?ne?s?n?e?i";Console.WriteLine(StringCompare(str1,str2));//34.6153846153846Console.WriteLine(StringCompare("相同","相同"));//100Console.WriteLine(StringCompare("",""));//100Console.WriteLine(StringCompare("","abcd"));//0}staticdoubleStringCompare(stringa,stringb){if(a==b)//相同的字符串,不需要迭代。返回100;if((a.Length==0)||(b.Length==0))//第一个为空,第二个不为{return0;}双maxLen=a.Length>b.Length?a.长度:b.长度;intminLen=a.Length有点像stringstr1="e???dfɑks?zh??g?i";stringstr2="e?t?tfoks?ne?s?n?e?i";char[]str1Char=str1.ToCharArray();char[]str2Char=str2.ToCharArray();int匹配计数=0;intunmatchedCount=0;for(intx=0;x>=str1Char.Length||x>=str2Char;x++;){if(str1Char[x]==str2Char[x])matchCount++;}否则无与伦比的计数++;}intlongestString=str1Char.长度;如果(str2Char.Length>longestString)longestString=str2Char.Length;intperc=(matchCount/longestString)*100;如果第一个字符串比第二个短,但是你得到的是jist,这会失败以上是C#学习教程:如何比较2个字符串并找出百分比差异?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载,请注明出处:
