擅长:python、mysql、java
<p>现在</p>
<ul>
<li>给定<code>Hi huy \n hi you there</code></li>
<li><code>lines</code>将是<code>['Hi huy ', ' hi you there']</code></li>
<li><code>words</code>将是<code>["['Hi", 'huy', "',", "'", 'hi', 'you', "there']"]</code>,因为您使用<code>str(lines)</code>在</li>
</ul>
<p>我建议您立即使用<code>words = re.split("\s+", s)</code>拆分任何空格</p>
<hr/>
<p>然后<code>IndexError</code>的问题出现在类似<code>Hi where are you__</code>(u是空格)的情况下,当您拆分时,末尾将有一个空字符串,并且您无法访问该字符串的第一个字符,因此只需在if中添加一个条件</p>
<ul>
<li><p><code>if word</code>因为0大小的单词是<code>False</code>,而其他<code>True</code></p></li>
<li><p><code>if word[0].isupper()</code>供您测试</p></li>
</ul>
<pre><code>import re
def mapFileToCount(s):
words = re.split("\s+", s)
up = 0
for word in words:
if word and word[0].isupper():
up = up + 1
return up
</code></pre>