Как мне сделать сравнение строк без учета регистра?

На основе решения @ Spider моя версия без JQuery такова:

// Get the container element's bounding box
var sides = document.getElementById("container").getBoundingClientRect();

// Apply the mouse event listener
document.getElementById("canvas").onmousemove = (e) => {
  // Here 'self' is simply the current window's context
  var x = (e.clientX - sides.left) + self.pageXOffset;
  var y = (e.clientY - sides.top) + self.pageYOffset;
}

Это работает как с прокруткой, так и с масштабированием (в этом случае иногда он возвращает float).

484
задан TylerH 28 November 2017 в 23:32
поделиться

4 ответа

Принятие строк ASCII:

string1 = 'Hello'
string2 = 'hello'

if string1.lower() == string2.lower():
    print("The strings are the same (case insensitive)")
else:
    print("The strings are NOT the same (case insensitive)")
514
ответ дан Guillaume Jacquenot 28 November 2017 в 23:32
поделиться

Обычный подход является к верхнему регистру строками или нижним регистром их для поисков и сравнений. Например:

>>> "hello".upper() == "HELLO".upper()
True
>>> 
3
ответ дан Andru Luvisi 28 November 2017 в 23:32
поделиться

Как насчет того, чтобы преобразовать в нижний регистр сначала? можно использовать string.lower().

3
ответ дан Camilo Díaz Repka 28 November 2017 в 23:32
поделиться
def insenStringCompare(s1, s2):
    """ Method that takes two strings and returns True or False, based
        on if they are equal, regardless of case."""
    try:
        return s1.lower() == s2.lower()
    except AttributeError:
        print "Please only pass strings into this method."
        print "You passed a %s and %s" % (s1.__class__, s2.__class__)
-1
ответ дан Patrick Harrington 28 November 2017 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: