我正在寻找Python中的一个string.contains
或string.indexof
方法.
我想要做:
if not somestring.contains("blah"):
continue
Run Code Online (Sandbox Code Playgroud) 有没有办法让以下返回true?
string title = "ASTRINGTOTEST";
title.Contains("string");
Run Code Online (Sandbox Code Playgroud)
似乎没有一个过载允许我设置区分大小写.目前我大写它们两个,但这只是愚蠢(我指的是上下套管的i18n问题).
更新
这个问题是古老的,从那时起我就意识到,如果你想完全研究它,我会要求一个简单的答案来解决一个非常庞大和困难的话题.
对于大多数情况,在单语言的英语代码库中,这个答案就足够了.我怀疑是因为大多数人来到这个类别这是最受欢迎的答案.然而,
这个答案提出了一个固有的问题,即我们无法比较文本不区分大小写,直到我们知道两个文本是相同的文化并且我们知道文化是什么.这可能是一个不太受欢迎的答案,但我认为它更正确,这就是为什么我这样标记它.
考虑:
$a = 'How are you?';
if ($a contains 'are')
echo 'true';
Run Code Online (Sandbox Code Playgroud)
假设我有上面的代码,编写语句的正确方法是什么if ($a contains 'are')
?
我需要确定数组中是否存在值.
我使用以下功能:
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--) {
if (this[i] == obj) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
上面的函数总是返回false.
数组值和函数调用如下:
arrValues = ["Sam","Great", "Sample", "High"]
alert(arrValues.contains("Sam"));
Run Code Online (Sandbox Code Playgroud) 我有一个购物车,在下拉菜单中显示产品选项,如果他们选择"是",我想在页面上显示其他一些字段.
问题是购物车还包括文本中的价格修饰符,每个产品可能不同.以下代码有效:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str == "Yes (+ $6.95)") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
Run Code Online (Sandbox Code Playgroud)
但是,我宁愿使用这样的东西,这是行不通的:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str *= "Yes") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
Run Code Online (Sandbox Code Playgroud)
如果所选选项包含单词"是",我只想执行操作,并忽略价格修饰符.
我看到人们正在使用any
收集另一个列表来查看列表中是否存在某个项目,但是有一个快速的方法可以做到吗?:
if list.contains(myItem):
# do something
Run Code Online (Sandbox Code Playgroud) 以下哪个查询更快(LIKE vs CONTAINS)?
SELECT * FROM table WHERE Column LIKE '%test%';
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * FROM table WHERE Contains(Column, "test");
Run Code Online (Sandbox Code Playgroud) 如果我有一个字符串数组,我可以检查一个字符串是否在数组中而不进行for
循环?具体来说,我正在寻找一种方法在一个if
语句中这样做,所以像这样:
if [check that item is in array]:
Run Code Online (Sandbox Code Playgroud) 我想检查List
一个对象是否包含具有特定值的字段的对象.现在,我可以使用一个循环来检查,但我很好奇是否有更多的代码有效.
就像是;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Run Code Online (Sandbox Code Playgroud)
我知道上面的代码没有做任何事情,只是为了大致展示我想要实现的目标.
另外,为了澄清,我不想使用简单循环的原因是因为此代码当前将进入循环内循环内部的循环.为了便于阅读,我不想继续为这些循环添加循环.所以我想知道是否有任何简单的(ish)替代品.
contains ×10
string ×4
python ×3
substring ×3
arrays ×2
javascript ×2
list ×2
search ×2
c# ×1
c++ ×1
collections ×1
java ×1
jquery ×1
performance ×1
php ×1
set ×1
sql-like ×1
sql-server ×1
stl ×1