📌  相关文章
📜  Python|查找给定字符串中字符的位置

📅  最后修改于: 2022-05-13 01:55:16.214000             🧑  作者: Mango

Python|查找给定字符串中字符的位置

给定一个字符串和一个字符,您的任务是找到该字符在字符串中的第一个位置。这些类型的问题是非常有竞争力的编程,您需要在其中定位字符在字符串中的位置。
让我们讨论一些解决问题的方法。
方法#1:使用朴素方法

Python3
# Python3 code to demonstrate
# to find the first position of the character
# in a given string
 
# Initializing string
ini_string = 'abcdef'
 
# Character to find
c = "b"
# printing initial string and character
print ("initial_string : ", ini_string, "\ncharacter_to_find : ", c)
 
# Using Naive Method
res = None
for i in range(0, len(ini_string)):
    if ini_string[i] == c:
        res = i + 1
        break
     
if res == None:
    print ("No such character available in string")
else:
    print ("Character {} is present at {}".format(c, str(res)))


Python3
# Python3 code to demonstrate
# to find first position of character
# in a given string
 
# Initializing string
ini_string = 'abcdef'
ini_string2 = 'xyze'
 
# Character to find
c = "b"
# printing initial string and character
print ("initial_strings : ", ini_string, " ",
        ini_string2, "\ncharacter_to_find : ", c)
 
# Using find Method
res1 = ini_string.find(c)
res2 = ini_string2.find(c)
     
if res1 == -1:
    print ("No such character available in string {}".format(
                                                ini_string))
else:
    print ("Character {} in string {} is present at {}".format(
                                 c, ini_string, str(res1 + 1)))
     
if res2 == -1:
    print ("No such character available in string {}".format(
                                               ini_string2))
else:
    print ("Character {} in string {} is present at {}".format(
                                c, ini_string2, str(res2 + 1)))


Python3
# Python3 code to demonstrate
# to find first position of character
# in a given string
 
# Initializing string
ini_string1 = 'xyze'
 
# Character to find
c = "b"
# printing initial string and character
print ("initial_strings : ", ini_string1,
             "\ncharacter_to_find : ", c)
 
# Using index Method
try:
    res = ini_string1.index(c)
    print ("Character {} in string {} is present at {}".format(
                                  c, ini_string1, str(res + 1)))
except ValueError as e:
    print ("No such character available in string {}".format(ini_string1))


输出:
initial_string :  abcdef 
character_to_find :  b
Character b is present at 2


方法#2:使用查找
如果字符不存在,此方法返回 -1。

Python3

# Python3 code to demonstrate
# to find first position of character
# in a given string
 
# Initializing string
ini_string = 'abcdef'
ini_string2 = 'xyze'
 
# Character to find
c = "b"
# printing initial string and character
print ("initial_strings : ", ini_string, " ",
        ini_string2, "\ncharacter_to_find : ", c)
 
# Using find Method
res1 = ini_string.find(c)
res2 = ini_string2.find(c)
     
if res1 == -1:
    print ("No such character available in string {}".format(
                                                ini_string))
else:
    print ("Character {} in string {} is present at {}".format(
                                 c, ini_string, str(res1 + 1)))
     
if res2 == -1:
    print ("No such character available in string {}".format(
                                               ini_string2))
else:
    print ("Character {} in string {} is present at {}".format(
                                c, ini_string2, str(res2 + 1)))

输出:

initial_strings :  abcdef   xyze  
character_to_find :  b
Character b in string abcdef is present at 2
No such character available in string xyze


方法 #3:使用 index()
如果字符不存在,此方法会引发值错误

Python3

# Python3 code to demonstrate
# to find first position of character
# in a given string
 
# Initializing string
ini_string1 = 'xyze'
 
# Character to find
c = "b"
# printing initial string and character
print ("initial_strings : ", ini_string1,
             "\ncharacter_to_find : ", c)
 
# Using index Method
try:
    res = ini_string1.index(c)
    print ("Character {} in string {} is present at {}".format(
                                  c, ini_string1, str(res + 1)))
except ValueError as e:
    print ("No such character available in string {}".format(ini_string1))

输出:

initial_strings :  xyze  
character_to_find :  b
No such character available in string xyze