python - 这个文本处理代码是 Pythonic 的吗?

标签 python text

我需要取一行文本(单词)并在该行中点之后的第一个空格处将其分成两半;例如:

The quick brown fox jumps over the lazy dog.
                         ^

上面这条线的中点在位置 22,这条线在“jumps”之后的空格处被分割。

如果您能查看以下代码并告诉我它是否是Pythonic,我将不胜感激。如果没有,请建议正确的方法。谢谢。 (PS:我来自 C++ 背景。)

    midLine = len(line) / 2                  # Locate mid-point of line.
    foundSpace = False
    # Traverse the second half of the line and look for a space.
    for ii in range(midLine):
        if line[midLine + ii] == ' ':        # Found a space.
            foundSpace = True
            break
    if (foundSpace == True):
        linePart1 = line[:midLine + ii]      # Start of line to location of space - 1.
        linePart2 = line[midLine + ii + 1:]  # Location of space + 1 to end of line.

最佳答案

Pythonic 将在可用的地方使用内置函数。 string.index 在这里完成工作。

def half(s):
    idx = s.index(' ', len(s) / 2)
    return s[:idx], s[idx+1:]

如果没有合适的地方断开字符串,这将引发 ValueError。如果这不是您想要的,您可能需要调整代码。

关于python - 这个文本处理代码是 Pythonic 的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076656/

相关文章:

assembly - TASM 1.4 - 显示特定颜色的字符串?

Javascript:在 Chrome 中删除了空白字符(但不是 Firefox)

python - 如何保护仅服务于我的前端的自己的后端 API?

winapi - 计算使用 GDI 渲染的文本(文本矩形)的大小

python - 字典和函数基因映射输出未返回预期频率

python - Django:如何正确使用UserProfile? (Django 授权额外信息)

android - 如何使用android webview将所选文本动态复制到剪贴板

css - 将文本悬停在具有绝对位置的图像上

python - 在 Ubuntu 上使用 Scrapy 和 VPN

python - Django View 按用户向访问者显示对象