gpt4 book ai didi

c++ - C++ std::字符串starts_with/ends_with不区分大小写的版本?

转载 作者:行者123 更新时间:2023-12-02 09:52:12 26 4
gpt4 key购买 nike

C++ 20在std::string中添加了starts_with和ends_with。
有没有一种好方法可以使其对区分大小写?
请注意,性能很重要,因此我不想小写/大写两个字符串(或它们的std::min(len1, len2)部分)。
与常规的<algorithm>算法不同,starts_with的比较器没有重载,因此我认为没有很好的方法。
而且我有点理解90%以上的案例都是区分大小写的,除非特别有用,否则避免使用C++中的成员fns ...所以我知道为什么存在此限制,我很好奇是否可以将一些相对易读的内容合并在一起没有我的C++ 20使用自定义比较器手动调用std::equal(或equals的范围版本)。

最佳答案

std::mismatch(s1.begin(), s1.end(), s2.begin(), s2.end(), <comparator>)将做您想要的。您必须编写不区分大小写的比较器,但是我敢肯定您可以弄清楚。

关于c++ - C++ std::字符串starts_with/ends_with不区分大小写的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63712046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com