标签: string-comparison

有没有办法在string.contains()方法中评估多个字符串?

if (description.ToUpper().Contains("BOUGHT") || description.ToUpper().Contains("PURCHASE"))
Run Code Online (Sandbox Code Playgroud)

上面的代码是我所拥有的,我想知道我是否有相同条件的更长的字符串列表,如何在不使代码太长的情况下执行此操作.也许一个lambda表达?

c# string lambda case-insensitive string-comparison

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

字符串池的意外行为

我有以下测试:

public class EqualityTest
{
    String one = new String("Hello world");
    String two = new String("Hello ") + new String("world");

    @Test
    public void testStringPool()
    {
        assertFalse(one == two); // FALSE!!!
        assertTrue(one.equals(two));
        assertTrue(one.intern().equals(two.intern()));
    }
}
Run Code Online (Sandbox Code Playgroud)

我原以为由于Java的字符串池特性,VM会分配一个和两个指向池中相同的字符串.在这种情况下,为什么我的理解错了?

java string-comparison

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

使用字符串时PHP比较中断

我对比较"错误"感到困惑.我编码这种比较的方式,我想确保如果用户输入 0或1 之外的任何值(或没有值),结果应为0:

session_start();
function test( $status = 0 ) {
        if( !isset($_SESSION['status']) ) { $_SESSION['status'] = 0; }
        else {
            switch( $status ) {
                case 0: $_SESSION['status'] = $status;
                break;

                case 1: $_SESSION['status'] = $status;
                break;

                default:
                $_SESSION['status'] = 0; 
                $status = 0;
            }
        }
        echo 'Variable value: ' . $status;
        echo ' | Session value: ' . $_SESSION['status'] . "<br/>";
}
test();
test(0);
test(1);
test(999);
test('ready');
Run Code Online (Sandbox Code Playgroud)

然而,它打破在test('ready');,因为它输出Variable value: ready | Session value: ready …

php variables string-comparison

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

在文件中搜索字符串并返回下一行(在Java中)

正如我的标题所说.我需要在文件中搜索字符串.当它找到时,我需要下一行.这是一个这样的文件:

你好

世界

当找到"你好"时,需要返回"世界".

File file = new File("testfile");
Scanner scanner = null;
try {
  scanner = new Scanner(file);
} catch (FileNotFoundException e) {
  e.printStackTrace();
}

if (scanner != null) {
  String line;
  while (scanner.hasNextLine()) {
    line = scanner.nextLine();
    if (line == "hello") {
      line = scanner.nextLine();
      System.out.println(line);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

它读取文件,但没有找到"你好"这个词.

java string file string-comparison

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

如何将字符与Python中某些字符串中的所有字符进行比较?

我需要编写一个函数,它接受一个字符和一个字符串作为输入,然后将该字符与字符串中的每个元素进行比较.然后打印并最终返回字符出现在字符串中的次数.

这是我提出的代码,但它没有以正确的方式运行.如果有人能解释并纠正错误,我会很感激.

我想先写一个比较两个字符的函数来检查它们是否相等,如下所示:

def func1(x1, x2):
    if x1 == x2:
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

然后,我想我会选择另一个主要功能:

def func2():
    ch1 = input("Enter one character. ")
    str1 = str(input("Enter a string. "))
    list_1 = list(str1)
    a = 0
    for 1 in list_1:
        if func1(ch1, list_1):
            a += 1
        else:
            a += 0
        print(a)
        return a
Run Code Online (Sandbox Code Playgroud)

这里有什么错误?如果我选择"a"作为我的角色,然后输入一个五个字母的字符串作为我的字符串,该函数仍然告诉我"a"只出现在字符串中一次.为什么这样,我该如何解决?

python string list character string-comparison

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

如何获得2个字符串数组之间的第一个匹配

我有2个字符串数组.一个是基础,另一个是变化.

string[] baseArray = { "Gold", "Silver", "Bronze" };
string[] readArray = { "Bronze", "Silver", "Gold" };

// After comparing the readArray over the baseArray the result should be this
//string match = "Gold";
Run Code Online (Sandbox Code Playgroud)

我想按照baseArray的顺序获得第一名.

//Example2
string[] readArray = { "Bronze", "Silver" };
//string match should be "Silver"
Run Code Online (Sandbox Code Playgroud)

c# linq arrays string-comparison string-matching

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

使用strcmp比较两个字符串的问题

我想比较2个字符串但是当我做一个strcmp函数时,它告诉我:

'strcmp' : cannot convert parameter 1 from 'std::string'
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

这是我的代码:

int verif_file(void)
{
    string ligne;
    string ligne_or;

    ifstream verif("rasphone");
    ifstream original("rasphone.pbk");
    while (strcmp(ligne, "[SynCommunity]") != 0 &&
        (getline(verif, ligne) && getline(original, ligne_or)));    
    while (getline(verif, ligne) && getline(original, ligne_or))
    {
        if (strcmp(ligne, ligne_or) != 0)
            return (-1);
    }

    return (0);
}
Run Code Online (Sandbox Code Playgroud)

c++ string comparison string-comparison strcmp

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

为什么Java等于(Object O)方法没有可以将特定对象类型(例如String,Integer等)作为输入的变量?

我遇到了一些问题,我需要使用Java语言比较两个字符串(或任何其他对象)的相等/不相等.String Object上有两种方法对此目的非常有用.compareTo(Object O),返回一个比较的整数结果而另一个equals(Object o)返回一个布尔值.我的问题是,虽然有一个变量compareTo()将特定的String作为输入而不是通用的Object,为什么没有这样的变体equals()?我经常遇到的一个问题是,当我在一个对象上调用equals方法并将通用对象作为参数传递时,它不会抛出任何编译错误.考虑下面的代码片段(这不是一个真实的例子,但我写的只是说明我的观点).

String testStr = new String("1");
Integer testInt = new Integer(1);

testStr.compareTo(testInt.toString()); // compiles
testStr.equals(testInt.toString());    // compiles

testStr.equals(testInt);               // compiles and will be always false 
testStr.compareTo(testInt);            // doesn't compile
Run Code Online (Sandbox Code Playgroud)

java generics equality string-comparison method-signature

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

"没有"比较没有按预期工作

not in在使用Python 2.7中的比较运算符时遇到问题.我有一个美国州缩写列表,我想检查给定的缩写是否不在该列表中,所以我使用:

'IL' not in states['Abbreviation']
Run Code Online (Sandbox Code Playgroud)

没想到,我得到了一个真实; 但是,当我做以下事情时,我也得到了一个真实的.

'IL' == states['Abbreviation'][13]
Run Code Online (Sandbox Code Playgroud)

'IL'是缩写列表中的第14项,当我使用时,==我可以证明它在列表中; 但是,当我使用not in比较时,它没有在列表中看到它?是什么赋予了?

我对python有点新意,所以希望答案不是太尴尬.

谢谢,

迈克尔

编辑:是的,在发布之前我尽力'谷歌'回答,但在谷歌搜索"不在"的条款是徒劳的努力,我上面描述的行为似乎与比较的方式不一致据说在文件中工作.

EDIT2:列表

in[89]: states['Abbreviation']

out[89]:

0     AL
1     AK
2     AZ
3     AR
4     CA
5     CO
6     CT
7     DE
8     DC
9     FL
10    GA
11    HI
12    ID
13    IL
14    IN
15    IA
16    KS
17    KY
18    LA
19    ME
20    MT
21    NE
22    NV
23    NH
24    NJ …
Run Code Online (Sandbox Code Playgroud)

python string-comparison python-2.7 pandas

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

为什么不对String.toLowerCase()返回的字符串进行实习?

我被要求预测此代码的输出:

String party1 = "party";
String party2= "PARTY".toLowerCase();
if(party1==party2){
   System.out.println("EQUAL");
}else{
   System.out.println("NOT EQUAL");
}
Run Code Online (Sandbox Code Playgroud)

我认为的结果toLowerCase()将被自动插入,因此party1将返回相同的引用,但是由于代码输出“ NOT EQUAL”,我是错的。
是否toLowerCase()toUpperCase()以及)返回一个新的String

编辑:我不使用==比较字符串,我只想了解toLowerCase()方法的行为

java string string-comparison

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