为了知道当前缓冲区中存在模式的次数,我做:
:%s/pattern-here/pattern-here/g
Run Code Online (Sandbox Code Playgroud)
它给出了模式的出现次数,但显然很麻烦,并且还具有设置"已更改"状态的副作用.
是否有更优雅的方式来计算?
在Python中比较字符串的最简单方法是什么,忽略大小写?
当然可以做(str1.lower()<= str2.lower())等,但是这创建了两个额外的临时字符串(具有明显的alloc/gc开销).
我想我正在寻找相当于C的stricmp().
[请求更多上下文,所以我将用一个简单的例子来证明:]
假设您要对looong字符串列表进行排序.你只需要做List.sort().这是O(n*log(n))字符串比较,没有内存管理(因为所有字符串和列表元素都是某种智能指针).你很快乐.
现在,您想要做同样的事情,但忽略这种情况(让我们简化并说所有字符串都是ascii,因此可以忽略区域设置问题).您可以执行List.sort(key = lambda s:s.lower()),但是每次比较会导致两个新的分配,加上垃圾收集器与重复(降低)字符串的负担.每个这样的存储器管理噪声比简单的字符串比较慢几个数量级.
现在,使用就地stricmp()函数,你可以:theList.sort(cmp = stricmp),它与theList.sort()一样快和内存友好.你又开心了.
问题是任何基于Python的不区分大小写的比较涉及隐式字符串重复,所以我期望找到基于C的比较(可能在模块字符串中).
找不到那样的东西,因此问题就在这里.(希望这澄清了这个问题).
虽然CtrlX在Windows下的vim中工作正常,但CtrlA选择all(duh).
有没有办法在Windows下按键增加一个数字?
由于语法高亮,巨大的文件需要永远加载并在vim中使用.
我正在寻找一种限制突出显示文件大小的方法,这样大于(比方说)10MB的文件将是无色的.
我需要在一个带有windows/apache/FastCGI的现有系统下运行一个简单的请求/响应python模块.
python的所有FastCGI包装器我只尝试用于Linux(它们使用socket.fromfd()和其他类似的shticks).
是否有一个在Windows下运行的包装器?