标签: case-insensitive

使用不区分大小写的正则表达式替换时需要注意哪些事项?

我编写了以下代码来在C#中进行不区分大小写的替换:

Regex.Replace(textBoxText, 
    Regex.Escape(findText), 
    replaceText, 
    RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

只是想检查,这是否是正确的方法,还是有更好的方法,我是否忽略了一些我应该更好地意识到的东西.

注意:请不要向我提供一些手工制作的代码,我使用了codeproject中的快速替换功能,并且该代码在客户端崩溃,我无法知道用户使用了什么输入.所以,我更喜欢一些简单但正确可靠的方法.

c# regex replace case-insensitive

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

区分大小写的语言比区分大小写的语言有什么优势?

我在Delphi中做了很多项目,它使用不区分大小写的语言Pascal,我想知道区分大小写的语言的优点是什么.
杰森认为 "案例不敏感会带来很多歧义".我不同意.如果您意识到该语言不区分大小写,那么即使您从未编写过前者,您也知道这WHILE意味着同样的事情while.变量和函数也一样; 骆驼套管很好,但是第一个字母还是资本还是没有?那些名称以下划线开头的函数呢?如果不敏感的语言没有问题:_fooBar将做得很好_FooBar.那么贾森所指的模糊性在哪里呢?是的,你可以用不同的方式写一个变量,但意思是明确的!FooBar== foobar!

在同一个线程Delnan Capitalization is the difference between "I had to help my uncle Jack off a horse.." and "I had to help my uncle jack off a horse..".非常聪明 :-).但是,与专业案例敏感相比,这是一个反对意见:您是否会因为单一的大写错误而接受您的代码变得混乱?同样,在不区分大小写的语言中,如果Jack是一个人,那么也是如此jack.

问题:是否有人在区分大小写的语言中使用此功能,您可以通过不同的大写来定义两个不同的变量或函数?因为这是我能看到的唯一优势.当然,你会说,我用驼峰套管写了变量名,而常量全是大写.但IMO他们是不相容的; userName作为一个变量是有道理的,但USERNAME作为一个常数不是.

(我意识到许多程序员使用区分大小写的语言,所以我准备迎接不受欢迎的接待:-))

编辑
此问题的触发器是Lynda.com的"Flash CS3 Professional中的ActionScript 3.0"培训视频,其中Todd Perkins花费了一半的时间来强调大写:-)

programming-languages case-sensitive case-insensitive

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

不区分大小写将字符串与非字符串进行比较

我创建了一个C#结构,它可以透明地处理不区分大小写的字符串比较.例如:

List<IString> list = new List<IString>();
list.Add("help");
Assert.IsTrue(list.Contains("Help"));
Run Code Online (Sandbox Code Playgroud)

要么

Dictionary<IString, string> dict = new Dictionary<IString, string>();
dict["Help"] = "thanks!";
Assert.AreEqual("thanks!", dict["hELP"]);
Run Code Online (Sandbox Code Playgroud)

但是我无法弄清楚的一件事(也许是不可能的)是如何让类字符串在.Equals(object)中很好地发挥作用:

IString A1 = "A";
string A2 = "a";
Assert.AreEqual(A1, A2, "This passes");
Assert.AreEqual(A2, A1, "This fails");
Run Code Online (Sandbox Code Playgroud)

这是代码:

using System;
using System.Collections.Generic;

namespace Util
{
    /// <summary>
    /// Case insensitive wrapper for the string class
    /// </summary>
    public struct IString :
        IComparer<IString>,
        IComparable,
        IComparable<IString>,
        IComparable<string>,
        IEquatable<string>,
        IEquatable<IString>
    {
        private const StringComparison icase = StringComparison.OrdinalIgnoreCase;

        public readonly string Value;
        public …
Run Code Online (Sandbox Code Playgroud)

c# string equals case-insensitive

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

有没有办法使用正则表达式匹配代字号?

看这个:

"nAo".match(/(nao)/i) # => #<MatchData "nAo" 1:"nAo">

"nÃo".match(/(não)/i) # => nil
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

编辑:似乎ruby在i标志的regexp比较中缺乏对unicode字符的支持(忽略大小写)...使用MRI 1.8.7p249

ruby regex unicode case-insensitive

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

排序列表时Android忽略大小写

我有一个名为path的List我正在使用以下代码对字符串进行排序

  java.util.Collections.sort(path);
Run Code Online (Sandbox Code Playgroud)

这工作正常,它排序我的列表,但它以不同的方式处理第一个字母的情况,它用大写字母对列表进行排序,然后用小写字母对列表进行排序,如果我有以下猫狗Bird Zebra它会像它一样排序

Bird
Zebra
dog
cat
Run Code Online (Sandbox Code Playgroud)

所以我如何忽略案例,以便狗和猫会在斑马之前但在鸟之后呢?感谢您的任何帮助

java sorting collections android case-insensitive

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

PHP不区分大小写的strtr

我在哪里可以找到不区分大小写的版本strtr

strtr 超载,我说的是以下一个

string strtr ( string $str , array $replace_pairs )
Run Code Online (Sandbox Code Playgroud)

php arrays strtr case-insensitive

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

XPath的SelectNodes忽略节点名称中的大小写

我有一个类似问题,即XPath忽略大小写的SelectNodes问题但在我的情况下,大写/小写问题是在名称为“ application”的节点中(有时是“ Application”,有时是“ application”)。

我将如何应用其他帖子的解决方案?还是在这种情况下适用另一种?

xml:

<?xml version="1.0" encoding="utf-16" ?>
<application>
  <forms>
    <action type="update">
      <form uid="" >
      </form>
    </action>
  </forms>
</application>
Run Code Online (Sandbox Code Playgroud)

在C#3.5中:

XmlNode nodex= oXMLDoc1.SelectSingleNode("Application/forms/action/form/@uid")
nodex.Value="UniqueIDx";//nodex is null :S
Run Code Online (Sandbox Code Playgroud)

c# xml xpath case-insensitive selectsinglenode

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

PHP中的案例代表字符串比较

当我正在做一个if语句时,如果字符串是一个大写单词,它就不起作用,因为它抓住了我的搜索字符串的单词.

例:

的index.php?信道=测试

<?php
    $channel_query = $_GET['channel'];
    $channel_query = $_GET['channel'];
    if ($channel_query == "test") {
        echo "Claimed";
    } elseif($channel_query == "test1") {
        echo "Claimed";
    }
    if(strtolower($channel_query) == strtolower($channel_query)){
    } else
        echo "N/A"; 
Run Code Online (Sandbox Code Playgroud)

因此,如果字符串是"Test",则它不起作用,因为它是大写的.有任何想法吗?

php string if-statement case-insensitive

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

MySQL不区分大小写的连接

我有一个名为work的表,其中包含企业中每个人的注册信息,如下所示:

表:工作

FirstName LastName SponsorshipStatus EnrollmentStatus AdjudicationStatus
--------- -------- ----------------- ---------------- ------------------
JANE      DOE      Complete          Incomplete       Incomplete
JOHN      DOE      Complete          Complete         Incomplete
MONTY     PYTHON   Complete          Complete         Complete
MARY      POPPINS  Complete          Complete         Complete
Run Code Online (Sandbox Code Playgroud)

部门经理给我一份她的员工名单,如下面的员工,她需要更新状态:

表:员工

FirstName LastName
--------- --------
John      Doe
Mary      Poppins
Humpty    Dumpty
Run Code Online (Sandbox Code Playgroud)

知道两个表的情况不匹配,我尝试以下查询:

SELECT employees.FirstName, employees.LastName,
    SponsorshipStatus, EnrollmentStatus, AdjudicationStatus
    FROM employees LEFT JOIN work
    ON (UPPER(employees.FirstName) LIKE UPPER(work.FirstName)
    AND UPPER(employees.LastName) LIKE UPPER(work.LastName));
Run Code Online (Sandbox Code Playgroud)

......它产生以下结果:

查询结果:

FirstName LastName SponsorshipStatus EnrollmentStatus AdjudicationStatus
--------- -------- ----------------- ---------------- ------------------
JOHN      DOE      NULL              NULL …
Run Code Online (Sandbox Code Playgroud)

mysql join case-insensitive

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

如何在Dictionary <string,int>中通过大小写不敏感的密钥获取原始大小写密钥

有词典:

var dictionary1 = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
    {{"abc1", 1}, {"abC2", 2}, {"abc3", 3}};
Run Code Online (Sandbox Code Playgroud)

我可以得到一个值:

var value = dictionary1["Abc2"];
Run Code Online (Sandbox Code Playgroud)

如果搜索键"Abc2"我需要获取原始键"abC2"和值2.

如何通过不区分大小写的密钥获取原始案例密钥?

c# dictionary case-insensitive

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