通常,当我想在Visual Studio中搜索我的代码时,我知道我正在寻找的东西是在一些C#代码中.但是,由于我在JavaScript文件中使用了相同的变量名称,因此我也必须浏览所有这些搜索结果.当我正在寻找的文本也用于我们带入项目的第三方JavaScript库时,情况会变得更糟:这可能导致数百个搜索结果.
为了复合,我们的设计师在同一个项目中包含了HTML模型,因此我经常发现我也在那里搜索大量的搜索结果.
我想我真正想要的是在我的.cs,.aspx和.ascx文件中看到结果,但不是.js或.htm.
有没有办法做以下任何事情:
我怀疑不是,在这种情况下有什么狡猾的解决方法吗?
我的代码看起来像这样:
thing_index = thing_list.index(thing)
otherfunction(thing_list, thing_index)
Run Code Online (Sandbox Code Playgroud)
好的,这样简化但你明白了.现在thing可能实际上不在列表中,在这种情况下我想传递-1作为thing_index.在其他语言中index(),如果找不到元素,这是您期望返回的内容.事实上,它抛出了一个ValueError.
我能做到这一点:
try:
thing_index = thing_list.index(thing)
except ValueError:
thing_index = -1
otherfunction(thing_list, thing_index)
Run Code Online (Sandbox Code Playgroud)
但这感觉很脏,而且我不知道是否ValueError可以因为其他原因而被提出.我想出了基于生成器函数的以下解决方案,但它看起来有点复杂:
thing_index = ( [(i for i in xrange(len(thing_list)) if thing_list[i]==thing)] or [-1] )[0]
Run Code Online (Sandbox Code Playgroud)
是否有更清洁的方法来实现同样的目标?我们假设列表没有排序.
如何找到Numpy数组中第一次出现数字的索引?速度对我很重要.我对以下答案不感兴趣,因为他们扫描整个数组并且在第一次出现时不停止:
itemindex = numpy.where(array==item)[0][0]
nonzero(array == item)[0][0]
Run Code Online (Sandbox Code Playgroud)
注1:该问题的答案似乎没有任何问题是否有Numpy函数返回数组中某些内容的第一个索引?
注2:使用C编译方法比Python循环更受欢迎.
我有两个列表,其中包含不同的对象.
List<Object1> list1;
List<Object2> list2;
Run Code Online (Sandbox Code Playgroud)
我想根据特定属性(Object1和Object2具有(等等),一个相互属性(类型为Long),名为attributeSame)来检查list1中是否存在list1中的元素.
现在,我这样做:
boolean found = false;
for(Object1 object1 : list1){
for(Object2 object2: list2){
if(object1.getAttributeSame() == object2.getAttributeSame()){
found = true;
//also do something
}
}
if(!found){
//do something
}
found = false;
}
Run Code Online (Sandbox Code Playgroud)
但我认为有更好更快的方法来做到这一点:)有人可以提出吗?
谢谢!
我正在考虑,如果在jQuery中可以使用AND和OR通过命名属性选择元素.
例:
<div myid="1" myc="blue">1</div>
<div myid="2" myc="blue">2</div>
<div myid="3" myc="blue">3</div>
<div myid="4">4</div>
Run Code Online (Sandbox Code Playgroud)
我想选择所有元素,myc="blue"但只选择那些myid设置为1或3 的元素.
所以我尝试过:
a=$('[myc="blue"] [myid="1"] [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
但它不起作用,同样在这里:
a=$('[myc="blue"] && [myid="1"] || [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
没有编写特殊的过滤功能可以吗?
经过Google的一些搜索后,我想出的是:
find my_folder -type f -exec grep -l "needle text" {} \; -exec file {} \; | grep text
Run Code Online (Sandbox Code Playgroud)
这是非常不方便的,并输出不需要的文本,如mime类型信息.更好的解决方案?我在同一个文件夹中有很多图像和其他二进制文件,我需要搜索大量文本文件.
所以我知道islower和isupper,但我似乎无法知道你是否可以检查这个字符是否是一个字母?
Example:
s = 'abcdefg'
s2 = '123abcd'
s3 = 'abcDEFG'
s[0].islower() = True
s2[0].islower()= False
s3[0].islower()=True
Run Code Online (Sandbox Code Playgroud)
除了做.islower()或.isupper()之外,还有什么方法可以问它是否是一个角色?
如果我发出find命令如下:
$ find . -name *.ear
Run Code Online (Sandbox Code Playgroud)
打印出来:
./dir1/dir2/earFile1.ear
./dir1/dir2/earFile2.ear
./dir1/dir3/earFile1.ear
Run Code Online (Sandbox Code Playgroud)
我想在命令行上"打印"的是名称和大小:
./dir1/dir2/earFile1.ear 5000 KB
./dir1/dir2/earFile2.ear 5400 KB
./dir1/dir3/earFile1.ear 5400 KB
Run Code Online (Sandbox Code Playgroud) 我想做以下但不能由于fill_in的性质期望定位器作为第一个参数.
find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10"
Run Code Online (Sandbox Code Playgroud)
我也尝试过
element = find(:css, "input[id$='donation_pledge_hundreds']")
fill_in element.<method> , :with => "10"
Run Code Online (Sandbox Code Playgroud)
但是没有方法可以返回任何数据来识别fill_in元素.
有关通过正则表达式查找字段以与fill_in一起使用的最佳方法的任何想法吗?
假设我有一个文件,该文件包含:
HelloxxxHelloxxxHello
Run Code Online (Sandbox Code Playgroud)
我编译一个模式来寻找'你好'
Pattern pattern = Pattern.compile("Hello");
Run Code Online (Sandbox Code Playgroud)
然后我使用输入流来读取文件并将其转换为String,以便可以对其进行重新编码.
一旦匹配器在文件中找到匹配项,它就表明了这一点,但它没有告诉我它找到了多少匹配项; 只是它在String中找到了匹配项.
因此,由于字符串相对较短,并且我使用的缓冲区是200字节,因此它应该找到三个匹配项.但是,它只是简单地说匹配,并没有向我提供有多少匹配的计数.
计算String中发生的匹配数的最简单方法是什么.我已经尝试了各种for循环并使用matcher.groupCount(),但我无处可去.