相关疑难解决方法(0)

计算字符串中字符的出现次数

计算字符串中字符出现次数的最简单方法是什么?

例如计算'a'出现的次数'Mary had a little lamb'

python string count

909
推荐指数
12
解决办法
92万
查看次数

如何匹配字符串中的子字符串忽略大小写?

我正在寻找Python中的忽略大小写字符串比较.我尝试过:

if line.find('mandy') >= 0:
Run Code Online (Sandbox Code Playgroud)

忽略案例没有成功.我需要在给定的文本文件中找到一组单词.我正在逐行阅读文件.一行上的字可以是mandy,Mandy,MANDY等(我不想使用toupper/ tolower等).

我正在寻找下面的Perl代码的Python等价物.

if ($line=~/^Mandy Pande:/i)
Run Code Online (Sandbox Code Playgroud)

python perl

55
推荐指数
5
解决办法
9万
查看次数

忽略Python字符串中的大小写

在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的比较(可能在模块字符串中).

找不到那样的东西,因此问题就在这里.(希望这澄清了这个问题).

python string case-insensitive

51
推荐指数
5
解决办法
10万
查看次数

Python - 字符串中的“不区分大小写”或“忽略大小写”

我有一个非常简单的问题。这是用于熊猫数据框(“df”)。关于字符串比较的答案都更复杂,我没有用。这是适用于小写并仅返回“apple”的代码:

df2 = df1['company_name'].str.contains(("apple"), na=False)
Run Code Online (Sandbox Code Playgroud)

我需要它来查找“苹果”、“苹果”、“苹果”等。例如:

df2 = df1['company_name'].str.contains.caseignore((("apple"), na=False))
Run Code Online (Sandbox Code Playgroud)

任何地方都有这样的功能吗?

谢谢。

python case-sensitive dataframe pandas

22
推荐指数
1
解决办法
2万
查看次数

Python:字符串匹配中的lower()与casefold()并转换为小写

如何进行不区分大小写的字符串比较?

从我从谷歌的理解和上述两个功能的链接:lower()casefold()将转换为小写的字符串,但casefold()甚至会转换为不区分大小写的字母,如ß用德语ss.

关于希腊字母的所有内容,但我的问题一般:

  • 还有其他差异吗?
  • 哪一个更好地转换为小写?
  • 哪一个更好地检查匹配的字符串?

第2部分:

firstString = "der Fluß"
secondString = "der Fluss"

# ß is equivalent to ss
if firstString.casefold() == secondString.casefold():
    print('The strings are equal.')
else:
    print('The strings are not equal.')
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我应该使用:

lower() # the result is not equal which make sense to me

要么:

casefold() # which ß is ss and result is the
        # strings are equal. (since I am a beginner that still …
Run Code Online (Sandbox Code Playgroud)

python string python-2.7 python-3.x

17
推荐指数
2
解决办法
9876
查看次数

忽略字符串比较中的大小写

如果我有两个变量,a和b,它们可以是整数,浮点数或字符串.

True如果它们相等,我想返回(如果是字符串,则忽略大小写).

尽可能像Pythonic.

python equals

9
推荐指数
2
解决办法
4万
查看次数

Julia中不区分大小写的字符串比较

我确信这有一个简单的答案,但是如何在Julia中比较两个字符串并忽略大小写?我已经破解了一个相当不优雅的解决方案:

function case_insensitive_match{S<:AbstractString}(a::S,b::S)
    lowercase(a) == lowercase(b)
end
Run Code Online (Sandbox Code Playgroud)

肯定有更好的办法!

string julia

6
推荐指数
1
解决办法
874
查看次数

如何让 Python 识别小写和大写输入?

我是 Python 的新手。我正在编写一个程序来区分一个单词是否以元音开头。问题是,该程序只能正确处理大写字母作为输入。例如,如果我提供单词“Apple”作为输入,结果是True;但是,如果提供单词“apple”作为输入,则结果为False。我如何解决它?

word = input ("Please Enter a word:")
if (word [1] =="A") :
    print("The word begins with a vowel")
elif (word [1] == "E") :
    print("The word begins with a vowel")
elif (word [1] == "I") :
    print("The word begins with a vowel")
elif (word [1] == "O") :
    print("The word begins with a vowel")
elif (word [1] == "U") :
    print("The word begins with a vowel")
else:
    print ("The word do not begin …
Run Code Online (Sandbox Code Playgroud)

python lowercase uppercase

5
推荐指数
2
解决办法
6万
查看次数

在 Python 3 中先按长度排序字符串数组,然后按字母顺序排序

如何首先按单词的长度(最长到最短),然后按字母顺序对python中的数组进行排序?

这就是我的意思:

我有这个清单: WordsArray = ["Lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit", "sed", "do", "eiusmod", "tempor", "incididunt"]

我想输出这个: ['consectetur', 'adipiscing', 'incididunt', 'eiusmod', 'tempor', 'dolor', 'ipsum', 'Lorem', 'amet', 'elit', 'sed', 'sit', 'do']

我已经可以使用print (sorted(WordsArray))以下字母顺序排序:

['Lorem', 'adipiscing', 'amet', 'consectetur', 'do', 'dolor', 'eiusmod', 'elit', 'incididunt', 'ipsum', 'sed', 'sit', 'tempor']
Run Code Online (Sandbox Code Playgroud)

python arrays sorting python-3.x

4
推荐指数
1
解决办法
3664
查看次数

Python 中的字符串比较,首字母不区分大小写

我需要匹配以下字符串File system full。问题是起始 F 可以是小写或大写。当字符串比较通常区分大小写时,如何在 Python 中执行此操作?

python case-insensitive

2
推荐指数
1
解决办法
9243
查看次数