标签: case-insensitive

让 BeautifulSoup 以不区分大小写的方式捕获标签

我想用 BeautifulSoup 捕获一些标签:一些<p>标签,<title>标签,一些<meta>标签。但无论他们的情况如何,我都想抓住他们;我知道有些网站会这样做元:<META>我希望能够抓住这一点。

我注意到 BeautifulSoup 默认区分大小写。如何以不区分大小写的方式捕获这些标签?

html python parsing beautifulsoup case-insensitive

5
推荐指数
1
解决办法
3710
查看次数

维基百科 API 调用不区分大小写

我正在尝试为我的 Wikipedia api 调用添加不区分大小写的功能。维基百科在页面命名方式上区分大小写。因此,http://en.wikipedia.org/wiki/Cat将产生一个关于动物的页面,http://en.wikipedia.org/wiki/CAT将产生一个消歧页面,并将http://en.wikipedia.org/wiki/CAt产生一个该页面不存在的通知。

我当前的问题是我想使用 API 返回页面,就像维基百科那样。我目前在 Python 中使用以下 API 调用:

"http://en.wikipedia.org/w/index.php?title=" + topic + "&action=render"
Run Code Online (Sandbox Code Playgroud)

当使用 GUI 的搜索框在维基百科上搜索时,“cat”和“CAt”将返回有关动物的页面,而“cAT”和“CAT”将返回消歧页面。

如何通过 API 复制此行为?

search wikipedia case-insensitive wikipedia-api mediawiki-api

5
推荐指数
1
解决办法
2216
查看次数

lucene大小写不​​敏感排序搜索

如何使用不区分大小写的模式进行多字段排序搜索?

我正在使用 lucene 4.10.4 版本并使用多文件排序进行排序

SortField[] sortFiled = new SortField[2];
sortFiled[0] = new SortField("name", SortField.Type.STRING);
sortFiled[1] = new SortField("country", SortField.Type.STRING);

TopDocs topDocs = indexSearcher.search(query, 10 , new Sort(sortFiled));
Run Code Online (Sandbox Code Playgroud)

它给出排序结果,但在区分大小写的模式下。我希望它以不区分大小写的模式排序。

java lucene case-insensitive

5
推荐指数
1
解决办法
795
查看次数

处理不区分大小写而不考虑区域设置

我正在研究我的应用程序中不区分大小写的处理方式。到目前为止,我意识到有两种不同的情况:

\n\n
    \n
  1. 数据向用户可视化
  2. \n
  3. 数据在内部处理
  4. \n
\n\n

对于情况 1,您应该始终使用用户的区域设置。这意味着,例如,当对列表中的项目进行排序时,并且您希望不区分大小写地进行排序,那么您应该使用区域设置感知的不区分大小写的字符串比较函数。

\n\n

对于情况 2,您不想使用用户的区域设置似乎是合乎逻辑的,因为如果您的用户使用不同的区域设置,但仍然使用相同的数据集,这可能会产生不良影响(例如,如果您正在管理图书馆软件,则可以使用书籍的名称作为数据库中书籍实例的键,并且希望处理这种不区分大小写的情况(我知道这是一种简化))。

\n\n

当使用 STL 容器(如 std::map)时,我注意到将键设置为大写,然后对大写的搜索值执行查找会更有效。这比在地图上循环时执行不区分大小写的比较更有效。对于 std::unordered_map 可能需要执行这样的技巧。

\n\n

然而,我意识到这也可能会产生奇怪的效果,我想知道Windows(也使用不区分大小写的文件名)如何处理这些情况。

\n\n

例如,德语字符 \xc3\x9f (ringel-S) 在大写时写为 SS。这似乎暗示 \xc3\x9f.txt 和 SS.txt 应该表示相同的文件,因此 \xc3\x9fs.txt 和 s\xc3\x9f.txt 以及 sss.txt 和 SSS.txt 也应该表示相同的文件文件。但根据我的实验,Windows 中似乎并非如此。

\n\n

所以我的问题是:

\n\n
    \n
  • 应使用哪些 C++ 和/或 Windows 函数来执行与区域设置无关、不区分大小写的字符串比较?
  • \n
  • 应该使用哪些 C++ 和/或 Windows 函数来使字符串不区分大小写(例如,将其设置为大写),以便在 std::map 中执行查找时比较效率更高(或者甚至在使用 std::map 时使散列成为可能) ::无序_地图)?
  • \n
  • 关于内部(即非可视化相关)数据的不区分大小写字符串处理的任何其他经验(或文档链接)?
  • \n
\n

c++ windows case-insensitive visual-studio

5
推荐指数
0
解决办法
272
查看次数

argparse 未正确处理子解析器中的缩写

(在python 3.6.0上运行)

长话短说

Usage: prog.py {caesar | vigenere} [key]

parser = argparse.ArgumentParser()
subp = parser.add_subparsers()
caesar = subp.add_parser("caesar", aliases=["c"], allow_abbrev=True)
args = parser.parse_args()
$ python prog.py caes 123
prog.py: error: invalid choice: 'caes' (choose from 'caesar', 'c')
Run Code Online (Sandbox Code Playgroud)

为什么subparser缩写即使带有 也无效allow_abbrev=True


长版

argparse基本上,在接受缩写subparsers名称/别名方面存在问题。

这是代码:

Usage: prog.py [caesar] [key]

import sys, argparse

def main(argv):
parser = argparse.ArgumentParser
         (description="runs text through X cipher")
subp = parser.add_subparsers\
         (help="sub-command help")

#<ArgumentParser object>
caesar = subp.add_parser\
         ("caesar", aliases=["c"], allow_abbrev=True) …
Run Code Online (Sandbox Code Playgroud)

python case-sensitive case-insensitive argparse subparsers

5
推荐指数
1
解决办法
3041
查看次数

编写一个在 EF Core 中不区分大小写的搜索查询?

我想问一个关于 SQL Server 和 EF Core 的问题。数据库中的排序规则是Latin1_CI_AS,我想编写一个包含土耳其语字符的搜索查询。

在数据库中,'personnel'表中有一个名为“SEL?M”的记录。当我在 EF Core 中编写这样的查询时:

    public async Task<IList<PersonnelGetDto>> Get(PersonnelGetPayload payload)
        {
           if (payload.Name != null)
                query = query.Where(x => x.Name.Contains(payload.Name)); 
        }
Run Code Online (Sandbox Code Playgroud)

如果我的搜索条件是“selim”,则列表为空。

我没有机会将数据库中的排序规则更改为土耳其语,因为我们的应用程序是多语言的。我认为其他语言会有问题。还是我错了?

我还写了字符串扩展名。但是,当将 LINQ 查询转换为 SQL 时,所有记录都会进入服务层,因为 LIKE 运算符未分配 WHERE 子句。在sql端运行这个条件非常重要。如果我把所有的数据集都拿到服务层去查询,会花费我很多。

当我在数据库中键入查询时,我可以解决这个问题:

SELECT * FROM Personnel WHERE Name LIKE 'selim' COLLATE Turkish_CI_AS
Run Code Online (Sandbox Code Playgroud)

我想如果我可以在 EF Core 上操作整理,我会解决这个问题。

c# sql-server case-insensitive entity-framework-core .net-core

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

UPPER或小写的JavaScript/HTML?

为了兼容性/ JIT-Compiling性能,在JS/HTML中使用UPPER CASE还是小写更好?例如:

 <DIV> my content </DIV>
 <div> my content </div>

 ALERT(DOCUMENT.LOCATION);
 alert(document.location);
Run Code Online (Sandbox Code Playgroud)

这不是一个新手问题,我知道小写是事实上的标准.但是因为我已经看到了一些大写的JS + HTML,我想知道哪个更好写.(就像SQL完全是大写的?)

html javascript case-sensitive case-insensitive

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

C#匹配两个文本文件,区分大小写的问题

我有两个文件,sourcecolumns.txtdestcolumns.txt.我需要做的是将源与dest进行比较,如果dest不包含源值,则将其写入新文件.下面的代码有效,除了我有这样的区分大小写的问题:

来源:CPI
dest:Cpi

这些因为大写字母而不匹配,所以输出不正确.随时欢迎任何帮助!

string[] sourcelinestotal =
    File.ReadAllLines("C:\\testdirectory\\" + "sourcecolumns.txt");
string[] destlinestotal =
    File.ReadAllLines("C:\\testdirectory\\" + "destcolumns.txt");

foreach (string sline in sourcelinestotal)
{
    if (destlinestotal.Contains(sline))
    {
    }
    else
    {
        File.AppendAllText("C:\\testdirectory\\" + "missingcolumns.txt", sline);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string case-insensitive string-comparison

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

如何在我的VB.net应用程序中处理来自ac#web服务的区分大小写的类和方法

我正在开发一个VB.Net应用程序,需要访问我几乎肯定有C#后端的Web服务.至少,后端为我提供了仅按大小写区分的类,并且在许多类中,有些属性和方法仅按大小写区分.

VB.Net不区分大小写,并且它看到许多这些项目含糊不清.

我想到了一些处理这个问题的方法,但在我走上可能很难的道路之前,我想提出一些建议.

以下是我考虑过的一些方法.

  1. 修改生成的wsdl代码.由于xml输出不再符合Web服务要求,因此在响应时出现问题.我认为可能有一些属性可以用来覆盖它,但我不确定它们是什么.即便如此,这个Web服务也会经常更新,我不想每次刷新时都要重新修改服务.

  2. 创建一个csharp包装器项目,我用不同的名称公开底层类.主要通过继承.虽然这里的一个大问题是属性和方法的问题,这些问题和方法也只是按案例区分.

我确信在某些时候我可以让这些解决方案中的一个或另一个起作用,但如果有人有任何我没想到的更好的建议,我会很感激帮助.

谢谢

c# vb.net web-services case-sensitive case-insensitive

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

Bash中不区分大小写的正则表达式

我想知道哪种方法更好地检查var(由用户在键盘上输入)是否以不区分大小写的方式与正则表达式匹配。我知道有一些不同的可能性。例如:我想一个正则表达式匹配一个空值,而这一切的名单:YNynYesNoYESNO

我搜索了不同的方法。不知道是否会更好。我会把其中的一些给我工作。

  • 第一个是将所有内容都设置为大写的“ tricky”设置,以进行比较:

    #!/bin/bash
    yesno="null" #any different value for initialization is valid
    while [[ ! ${yesno^^} =~ ^[YN]$|^YES$|^NO$|^$ ]]; do
        read -r yesno
    done
    
    Run Code Online (Sandbox Code Playgroud)
  • 第二个是使用shopt -s nocasematch。但是不确定这样做之后是否可以还原,因为我不想为所有脚本设置它。

    #!/bin/bash
    yesno="null" #any different value for initialization is valid
    shopt -s nocasematch
    while [[ ! ${yesno} =~ ^[yn]$|^yes$|^no$|^$ ]]; do
        read -r yesno
    done
    
    Run Code Online (Sandbox Code Playgroud)

这些正则表达式能否以任何方式得到改进?有没有更好(更优雅)的方法?在第二种方法上,有没有办法还原该设置?

regex bash case-insensitive

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