我需要一个C ++或Java解决方案。有标准功能吗?
答案 0 :(得分:3)
在C ++中没有标准的功能 - 你需要自己动手。这种明显的缺乏是因为大写和小写的概念,实际上是单词的概念,比它看起来要复杂得多。最好的办法是使用正则表达式库,例如Boost附带的库。
答案 1 :(得分:2)
对于Java,请参阅Pattern。您可以使用\b
和\B
来匹配字边界。可以使用CASE_INSENSITIVE标志启用/禁用区分大小写。
答案 2 :(得分:1)
没有任何一项功能可以完全实现。对于简单的情况,它仍然相当简单:将文件存入内存(例如std::vector<char> buff(file_begin_iter, file_end_iter);
),然后找到你想要的内容。 (std::search
)
答案 3 :(得分:0)
在C ++中,您可以在
中使用正则表达式std::tr1::regex
如果您的编译器是最新的。正则表达式默认支持匹配大小写。使用\ b Word边界,您应该只能找到整个单词。
答案 4 :(得分:0)
在java中: http://java.sun.com/docs/books/tutorial/essential/regex/bounds.html
您可以使用“\ b”字边界。
P.S。:当你编译它时,记住斜线: 在例如:找到'狗'这个词 - &gt;模式p = Pattern.compile(“\ bdog \ b”);