import re
s = 'PythonCookbookListOfContents'
# the first line does not work
print re.split('(?<=[a-z])(?=[A-Z])', s )
# second line works well
print re.sub('(?<=[a-z])(?=[A-Z])', ' ', s)
# it should be ['Python', 'Cookbook', 'List', 'Of', 'Contents']
Run Code Online (Sandbox Code Playgroud)
如何使用Python re从小写字符和大写字符的边框拆分字符串?
为什么第一行无效,而第二行效果不错?
我正在尝试构建一个javascript函数,它可以计算输入数组中每个单词的出现次数.
示例:
输入
a=["a","booster","booster","constructor","adam","adam","adam","adam"]
Run Code Online (Sandbox Code Playgroud)
输出:
"a":1
"booster":2
"constructor":1
"adam":4
Run Code Online (Sandbox Code Playgroud)
输出应该是相似的.
我是javascript的新手,我试图使用dict.但是对象有一个叫做"构造函数"的属性,所以cnt ["constructor"]似乎不起作用.
这是我的代码和结果:
var cnt={};
console.log("constructor");
for(var i=0;i<a.length;++i)
{
if(! (a[i] in cnt))
cnt[a[i]]=0;
else
cnt[a[i]]+=1;
}
for(var item in cnt)
console.log(item+":"+cnt[item]);
Run Code Online (Sandbox Code Playgroud)
结果:

您可以看到1作为字符串添加到cnt的构造函数中.