Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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:如何仅将完整的单词“I”大写?_Python - Fatal编程技术网

Python:如何仅将完整的单词“I”大写?

Python:如何仅将完整的单词“I”大写?,python,Python,所以,我试图得到完整的单词,我只大写,而不大写其他单词中的I。例如,在我正在处理的这个作业中,程序要求用户输入一个句子,这个句子同时运行,但每个单词的第一个字符都是大写的。假设用户输入是IHaveAnIntegerI。到目前为止,我打印出的是一个整数I。我想要的是一个整数I。谢谢。这可能会有帮助: 大写方法返回第一个字符为大写的字符串 因此: 收益率: I have an integer i 对于涉及单词的字符串问题,最简单的解决方案通常是正则表达式,因为\b可用于匹配单词边界。因此,正则表达

所以,我试图得到完整的单词,我只大写,而不大写其他单词中的I。例如,在我正在处理的这个作业中,程序要求用户输入一个句子,这个句子同时运行,但每个单词的第一个字符都是大写的。假设用户输入是IHaveAnIntegerI。到目前为止,我打印出的是一个整数I。我想要的是一个整数I。谢谢。

这可能会有帮助:

大写方法返回第一个字符为大写的字符串

因此:

收益率:

I have an integer i

对于涉及单词的字符串问题,最简单的解决方案通常是正则表达式,因为\b可用于匹配单词边界。因此,正则表达式\bi\b与字母i匹配的当且仅当它本身是一个单词时

>>>进口稀土 >>>关于subr'\bi\b',I',我做到了,我做到了 “我做到了,我做到了!”
注意,这只是自然语言中一个词的近似值;例如,它将缩写大写,即不正确,并且它将正确但巧合地大写单词i've。

这是一种方法:

i_values = {'i', "i'"}

text_example = "hello i am i'm i am i m not"

result = []
for word in text_example.split():
    result.append(word.capitalize() if word.lower() in i_values else word)

result = ' '.join(result)

print(result)
# hello I am I'm I am I m not

到目前为止你得到了什么?请提供预期的结果。显示中间结果与预期结果的偏差。我们应该能够将您的代码的单个块粘贴到文件中,运行它,并重现您的问题。到目前为止,我所做的[做了错误的事情]我最好的猜测是,您所做的事情有问题。如果您希望我们帮助您修复目前为止的问题,那么如果您能够向我们展示它,这将非常有帮助。OP希望我有一个整数I。在您建议的末尾,他们仍然使用两个小写I,其中只有一个需要大写。您也不能假定字符串总是以开头I@PranavHosangadi根据OP,到目前为止我打印出来的是一个整数I,所以问题不是如何添加空格-他们已经可以这样做了。@kaya3当然,但这个答案不起作用,因为假设第一个字符需要大写,其他所有字符都需要小写,但事实并非如此。@PranavHosangadi在您编辑它之前,我对您的评论作出了回应。@kaya3有两个小写,但不知道哪一个大写并不比有两个大写好。这就是我评论的意思。我,我,我会,我会,我现在编辑了这篇文章。它应该适用于任何“我”或“我”,如果你面临任何新问题,你可以只更新设置的I_值
i_values = {'i', "i'"}

text_example = "hello i am i'm i am i m not"

result = []
for word in text_example.split():
    result.append(word.capitalize() if word.lower() in i_values else word)

result = ' '.join(result)

print(result)
# hello I am I'm I am I m not