On Tue, Nov 26, 2013 at 10:01:14AM +0000, Alan Gauld wrote: > >Is there a method to compare a substring, without building a substring > >from the big one? Like startswith or endswith, but anywhere inside the > >string? > > test = s[1, -1] == "bcd" # no!, builds a substring > > I assume you mean test = s[1:-1] == "bcd" > > > test = s.sub_is(1, -1, "bcd") # yes! what I'm searching > > You can use startswith() (or endswith) by providing the optional > start and end arguments: > > test = s.startswith("bcd", 1, -1)
That doesn't work, unfortunately: py> s = "abcdZZZZZZZ" py> s[1:-1] == "bcd" False py> s.startswith("bcd", 1, -1) True Oops. You'd have to do both startswith() and endswith() tests, and even then it doesn't work: py> s = "abcdZZZZZZZZabcde" py> s[1:-1] == "bcd" False py> s.startswith("bcd", 1, -1) and s.endswith("bcd", 1, -1) True -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor