请用java描述一种算法,可以判断两个类型为String的英文意思相同,其中意思相同的主要含义是:
1,与大小写无关!
2,与句中标点符号无关
3,句子中多个空格和单个空格等价
针对于这个问题,对于一个算法,可以从以下几个路径出发。
1,相等,这里是指两个string的完全一样,只是构造时出了问题,那么这肯定是意思相同,那么你要去除空格,大小写等的干扰。
2,不相等,这里就存在重复率的问题,可以考虑切割,切割成单词,然后比较命中数。
3,不相等,这就是指表达的方式不一样,主动式,被动式,这就要专门研究自然语言的人来进行语义结构上的分析了。
都是调用String对象的api,一种是上面说的,但最后的比较用String.compareToIgnoreCase(string) api 不考虑大小写。
还有一种方法就是将String转化成字符数组。string.toCharArray().然后取值一一进行比较。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。