Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何替换字符串中第一个字母的所有实例,而不是第一个字母本身_Python - Fatal编程技术网

Python 如何替换字符串中第一个字母的所有实例,而不是第一个字母本身

Python 如何替换字符串中第一个字母的所有实例,而不是第一个字母本身,python,Python,到目前为止,我的代码是: def ChangeString(): print (userString.replace( userString =str(input("Please enter a string ")) ChangeString() 在字符串中,我需要用*替换第一个字符的所有实例,而不实际替换第一个字符本身。例如,假设我有“Bobble”;该函数将返回类似于“Bo**le”的内容。replace(userString[0],“*”)userString[0]+userSt

到目前为止,我的代码是:

def ChangeString():
    print (userString.replace(
userString =str(input("Please enter a string "))
ChangeString()

在字符串中,我需要用*替换第一个字符的所有实例,而不实际替换第一个字符本身。例如,假设我有“Bobble”;该函数将返回类似于“Bo**le”的内容。replace(userString[0],“*”)
userString[0]+userString[1:”。replace(userString[0],“*”)

userString[0]+userString[1:。replace(userString[0],“*”)

userString[0]、“*”/userString[1:][replace(userString[0],“*”
我会使用切片和
lower()


我会使用切片和
lower()


我会使用切片和
lower()


我会使用切片和
lower()


不需要使用其他变量

>>> st='Bobble'
>>> st=st[0]+st[1:].lower().replace(st[0].lower(),'*')
>>> st
'Bo**le'

不需要使用其他变量

>>> st='Bobble'
>>> st=st[0]+st[1:].lower().replace(st[0].lower(),'*')
>>> st
'Bo**le'

不需要使用其他变量

>>> st='Bobble'
>>> st=st[0]+st[1:].lower().replace(st[0].lower(),'*')
>>> st
'Bo**le'

不需要使用其他变量

>>> st='Bobble'
>>> st=st[0]+st[1:].lower().replace(st[0].lower(),'*')
>>> st
'Bo**le'

您还可以使用正则表达式:

import re

def ign_first(s, repl):
    return re.sub(r"(?<!^){}".format(s[0]), repl, s, flags=re.I)
或使用
str.join
与一组:

def ign_first(s, repl):
    first_ch = s[0]
    st = {first_ch, first_ch.lower()}
    return first_ch + "".join([repl if ch in st else ch for ch in s[1:]])
演示:


您还可以使用正则表达式:

import re

def ign_first(s, repl):
    return re.sub(r"(?<!^){}".format(s[0]), repl, s, flags=re.I)
或使用
str.join
与一组:

def ign_first(s, repl):
    first_ch = s[0]
    st = {first_ch, first_ch.lower()}
    return first_ch + "".join([repl if ch in st else ch for ch in s[1:]])
演示:


您还可以使用正则表达式:

import re

def ign_first(s, repl):
    return re.sub(r"(?<!^){}".format(s[0]), repl, s, flags=re.I)
或使用
str.join
与一组:

def ign_first(s, repl):
    first_ch = s[0]
    st = {first_ch, first_ch.lower()}
    return first_ch + "".join([repl if ch in st else ch for ch in s[1:]])
演示:


您还可以使用正则表达式:

import re

def ign_first(s, repl):
    return re.sub(r"(?<!^){}".format(s[0]), repl, s, flags=re.I)
或使用
str.join
与一组:

def ign_first(s, repl):
    first_ch = s[0]
    st = {first_ch, first_ch.lower()}
    return first_ch + "".join([repl if ch in st else ch for ch in s[1:]])
演示:


不区分大小写的正则表达式解决方案:

import re

string = "Bobble"

outcome = string[0]+re.sub(string[0].lower() + '|' + string[0].upper(), 
                           "*", string[1:].lower())

>>>
Bo**le

不区分大小写的正则表达式解决方案:

import re

string = "Bobble"

outcome = string[0]+re.sub(string[0].lower() + '|' + string[0].upper(), 
                           "*", string[1:].lower())

>>>
Bo**le

不区分大小写的正则表达式解决方案:

import re

string = "Bobble"

outcome = string[0]+re.sub(string[0].lower() + '|' + string[0].upper(), 
                           "*", string[1:].lower())

>>>
Bo**le

不区分大小写的正则表达式解决方案:

import re

string = "Bobble"

outcome = string[0]+re.sub(string[0].lower() + '|' + string[0].upper(), 
                           "*", string[1:].lower())

>>>
Bo**le



是啊,对案子不敏感哦!到目前为止,您的代码??真的吗?老兄,我在学习;我不知道该怎么做,这就是为什么我问了一个你正在学习的问题,但是你不想看看代码是否编译过一次吗?Bobble就是一个例子;实际字符串将是一个inputYeah,不区分大小写Wow!到目前为止,您的代码??真的吗?老兄,我在学习;我不知道该怎么做,这就是为什么我问了一个你正在学习的问题,但是你不想看看代码是否编译过一次吗?Bobble就是一个例子;实际字符串将是一个inputYeah,不区分大小写Wow!到目前为止,您的代码??真的吗?老兄,我在学习;我不知道该怎么做,这就是为什么我问了一个你正在学习的问题,但是你不想看看代码是否编译过一次吗?Bobble就是一个例子;实际字符串将是一个inputYeah,不区分大小写Wow!到目前为止,您的代码??真的吗?老兄,我在学习;我不知道该怎么做,这就是为什么我问了一个你正在学习的问题,但是你不想看看代码是否编译过一次吗?Bobble就是一个例子;实际字符串将是Input,但此解决方案实际上区分大小写…:(谢谢,效果很好。Yh,区分大小写是一个问题,但我会尝试解决。但是这个解决方案实际上是区分大小写的…:(谢谢,效果很好。Yh,区分大小写是一个问题,但我会尝试解决。但是这个解决方案实际上是区分大小写的…)(谢谢,效果很好。Yh,区分大小写有点问题,但我会设法解决。但这个解决方案实际上是区分大小写的…:(谢谢,效果很好。Yh,区分大小写有点问题,但我会尝试解决。你也会最终将所有字符串改为小写,替换应该不区分大小写,但这并不意味着每个字母都是小写的。谢谢你的观察!我编辑了我的答案。现在应该可以了。所有第一个字母在单词中被替换,不管它们是大写还是小写,而不改变原始字符串。我刚刚看到你在我之前不久发布了相同的解决方案^^"哈哈,很抱歉重复了。您需要re.I。如果字符串中有大写字母,如名称、位置等的第一个字母,您也会降低该字母。逻辑需要进行不区分大小写的替换,但保留字符串的其余部分。您还将最终将所有字符串更改为小写,替换应为大小写IN敏感但这并不意味着每个字母都是小写的谢谢你的观察!我编辑了我的答案。现在应该可以了。所有出现的第一个字母都被替换在单词中,不管它们是大写还是小写,而不改变原始字符串。我刚刚看到你实际上很快发布了相同的解决方案在我面前^^"哈哈,很抱歉重复了。您需要re.I。如果字符串中有大写字母,如名称、位置等的第一个字母,您也会降低该字母。逻辑需要进行不区分大小写的替换,但保留字符串的其余部分。您还将最终将所有字符串更改为小写,替换应为大小写IN敏感但这并不意味着每个字母都是小写的谢谢你的观察!我编辑了我的答案。现在应该可以了。所有出现的第一个字母都被替换在单词中,不管它们是大写还是小写,而不改变原始字符串。我刚刚看到你实际上很快发布了相同的解决方案在我面前^^"哈哈,很抱歉重复了。您需要re.I。如果字符串中有大写字母,如名称、位置等的第一个字母,您也会降低该字母。逻辑需要进行不区分大小写的替换,但保留字符串的其余部分。您还将最终将所有字符串更改为小写,替换应为大小写IN敏感但这并不意味着每个字母都是小写的谢谢你的观察!我编辑了我的答案。现在应该可以了。所有出现的第一个字母都被替换在单词中,不管它们是大写还是小写,而不改变原始字符串。我刚刚看到你实际上是p