标签: string-comparison

C# 如何比较两个字符串并指出哪些部分不同

例如,如果我有...

string a = "personil";
string b = "personal";
Run Code Online (Sandbox Code Playgroud)

我想得到...

string c = "person[i]l";
Run Code Online (Sandbox Code Playgroud)

然而,它不一定是单个字符。我也可以这样...

string a = "disfuncshunal";
string b = "dysfunctional";
Run Code Online (Sandbox Code Playgroud)

对于这种情况,我想得到...

string c = "d[isfuncshu]nal";
Run Code Online (Sandbox Code Playgroud)

另一个例子是......(请注意,两个单词的长度不同。)

string a = "parralele";
string b = "parallel";

string c = "par[ralele]";
Run Code Online (Sandbox Code Playgroud)

另一个例子是...

string a = "ato";
string b = "auto";

string c = "a[]to";
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

编辑:两个字符串的长度可以不同。

编辑:添加了额外的示例。感谢用户 Nenad 的提问。

c# string string-comparison

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

如何在Python中检查2个字符串是否包含相同的字母和数字?

我想检查两个字符串是否包含相同的字母和数字

忽略特殊字符,例如_

例子:

word1 = "ABCD" , word2 = "ACDB"  => return True
word1 = "ABC1E_" , word2 = "AE1CB" => return True
word1 = "AB12" , word2 = "ABE2" => return False
word1 = "ABB" , word2 = "AB" => return True 
Run Code Online (Sandbox Code Playgroud)

python string string-comparison

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

c# 循环直到 Console.ReadLine = 'y' 或 'n'

我对 c# 还很陌生,正在编写一个简单的控制台应用程序作为练习。我希望应用程序提出一个问题,并且只有在用户输入等于“y”或“n”时才进入下一段代码。这是我到目前为止所拥有的。

static void Main(string[] args)
{

    string userInput;
    do
    {
        Console.WriteLine("Type something: ");
        userInput = Console.ReadLine();
    }   while (string.IsNullOrEmpty(userInput));

    Console.WriteLine("You typed " + userInput);
    Console.ReadLine();

    string wantCount;
    do
    {
        Console.WriteLine("Do you want me to count the characters present? Yes (y) or No (n): ");
        wantCount = Console.ReadLine();
        string wantCountLower = wantCount.ToLower();
    }   while ((wantCountLower != 'y') || (wantCountLower != 'n'));
}
Run Code Online (Sandbox Code Playgroud)

从那string wantCount;以后我就遇到麻烦了。我想要做的是询问用户是否要计算字符串中的字符数,然后循环该问题,直到输入 'y' 或 'n'(不带引号)。

请注意,我还想满足输入的大写/小写的需求,所以我想将 wantCount 字符串转换为小写 - 我知道我目前的方式string wantCountLower在循环内设置时不起作用,所以我然后不能在while 子句中的循环外引用。 …

c# loops console-application string-comparison while-loop

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

检查数组键是否存在,不区分大小写

我尝试以不区分大小写的方式找到正确的方法来检查数组键是否存在。

我有一个数组 - 一个 HTTP 标头列表:

$headers = [
    'User-Agent' => 'Mozilla',
];
Run Code Online (Sandbox Code Playgroud)

基本上,我希望能够给出这样的东西(带有小字符“u”):

$keyExists = array_key_exists('user-Agent', $headers);
Run Code Online (Sandbox Code Playgroud)

true在应用 a 时接收布尔值var_dump

var_dump($keyExists); // I need TRUE to be returned.
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助。

php arrays validation string-comparison psr-7

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

Perl 两个相同的字符串比较为不相等

这是我的代码:

    my $self = shift;
    my $h    = shift;

    print "$h\n";

    my @headers = split /,/, $h;

    foreach my $el (@{$expected}) {
            my $t = shift @headers;
            chomp ($t);
            chomp ($el);
            print Dumper($el cmp $t, $el, $t);
            print "test: \'$el\' eq \'$t\' ";
            unless ($el eq $t) {
                    print "not ok $el ne $t\n";
                    return 0;
            } else {
                    print "ok\n";
            }
    }
    return 1;
Run Code Online (Sandbox Code Playgroud)

在我的第一个单元测试中,我将一个字符串传递给 $h,该字符串与 $expected 匹配。然后我有一个单元测试,它确保函数在传递不匹配的字符串时失败。这两个测试的行为符合预期。

服务器、Jira 项目、问题类型、摘要、描述、受托人、标签、Epic 链接

$VAR1 = 0;

$VAR2 = '服务器';

$VAR3 = …

perl string-comparison

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

在Python中,相同的字符串返回FALSE和'==',为什么?

数据字符串通过套接字连接接收.当收到动作变量='IDENTIFY'的第一个例子时,它可以工作.但是当收到动作变量='MSG'的第二个例子时,它不会进行比较.

最奇怪的是,当我使用Telnet而不是我的套接字客户端时,两者都是成功比较的.但字符串是相同的...字符串是否有可能以相同的方式编码?我怎么知道?

数据示例:

data = 'IDENTIFY 54143'
or
data = 'MSG allo'

action = data.partition(' ')[0]
if action == "MSG":
    self.sendMessage(data)
elif action == "IDENTIFY":  
    self.sendIdentify(data)
else:
    print "false"
Run Code Online (Sandbox Code Playgroud)

python string-comparison

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

为什么compareTo应该为false时返回true?

我正在从我的数据结构类项目中调试错误的搜索返回.当前项目要求我们构建有序的展开链表,并对内容进行搜索,然后将项目子列表从包含起点返回到独占终点.为了做到这一点,我必须搜索内部数组以找到start元素的索引点.我通过二分搜索来做到这一点,但由于这只返回第一个找到的匹配,并且在它之前可能还有其他匹配,我必须在数组中返回才能找到第一个真正的匹配.我通过这样做

//get first index match, work backwards
int index= binarySearch(node.items, 0, node.numUsed, item, comp);
while (index>0 && comp.compare(node.items[index], item)==0){
    index--;
}
Run Code Online (Sandbox Code Playgroud)

教授提供了测试代码,用于分解字符串并将每个字符添加为结构中的项目.他还包括一个嵌套的StringCmp类,它comp在上面的二进制搜索声明中被引用.他的比较方法是

public int compare(String s1, String s2) {
  cmpCnt++;
  return s1.compareTo(s2);
}
Run Code Online (Sandbox Code Playgroud)

但是,当在子列表方法上从i运行测试到o时,此方法返回一个真值comp.compare(h,i)==0,这是从我写的搜索类中抛出我的开始结果.我最初return index++通过结构测试得到了补偿,但是把预期的起点丢了一个.

那么为什么当它显然是假的时候才会真实地回归呢?

编辑添加了子列表方法的打印输出,预计从i运行到o

输入测试字符串= abcdefghijklmnopqrstuvwxyzaeiou 从子列表方法返回:
块1(使用4的10):[h] [i] [i] [j]
块2(使用4的10):[k] [l] [m] [n ]

h根本不应该在列表中,但是comp.compare(node.items[index], item)==0返回true,即i == h,这显然是假的.

编辑二 项目的第二部分要求我们解析文本文件,从Artist,Title和Lyrics字段构建Song对象,然后使用前缀对标题进行搜索.这里发生的错误不会发生在单字母和多字母搜索中,所以我认为问题在于测试中的StringCmp嵌套类.

java string-comparison data-structures

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

如果使用==语句检查NSString相等性

我正在使用一些Objective-c代码进行服务器调用.如果它返回为a @"yes",它将执行操作.由于某种原因,// DO ACTION HERE从未达到过该部分.

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSString *returnStringResults = returnString;
NSString *yesText = @"yes";

if (returnStringResults == yesText) {
    testLabel.text = @"Success";
    // DO ACTION HERE
}
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c string-comparison nsstring

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

如果性能受到关注,则在Java中进行字符串模式匹配的最佳方法

问候,

假设您想要测试一个字符串以查看它是否完全匹配,或者,如果它与_匹配,并且_后面附加任意数量的字符

有效的匹配示例:

MyTestString
MyTestString_
MyTestString_1234
Run Code Online (Sandbox Code Playgroud)

如果表现是一个巨大的问题,你会调查哪种方法?目前我正在做以下事情:

if (String.equals(stringToMatch)) {
            // success
        } else {
            if (stringToMatch.contains(stringToMatch + "_")) {
                // success
            }
            // fail
        }
Run Code Online (Sandbox Code Playgroud)

我尝试用_*上的Java.util.regex.Pattern匹配替换String.contains _的模式,但这表现得更糟.我的解决方案在这里是理想的还是你能想到更多切割器来提高性能吗?

谢谢你的任何想法

java regex string-comparison

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

Perl字符串匹配不应该失败

我的脚本中有以下代码.

if($description =~ /\'/) {
    print "I am here\n";    
    $description =~ s/\'/'/g;
}
print "description = $description\n";
Run Code Online (Sandbox Code Playgroud)

当我运行这个脚本时,"I am here\n"由于比较失败,我没有得到输出.

但是,当$description字符串确实包含撇号时.

$description = "The baseball player’s spiritual redemption and recovery from drug addiction.";

上下文:我正在解析从调用nytimes bestsellers api(以json格式返回)获得的字符串,并且此字符串存储在$description字符串中.

perl string-comparison

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