python - 如何检查有多少行以数字开头

标签 python string for-loop split

假设一个字符串 'text' 代表多行,我如何计算有多少行以数字开头?

def digit_leading_lines(text):
    n = 0
    newlist = text.split()
    for i in range (len(newlist)):
        for j in range (len(newlist[i])):
            if newlist[i][j].isdigit() == True:
                n += 1
    return n 

一旦我用 text = 'AAA\n1st' 测试它,它就会给出正确的输出 1。 但是当我输入 text = "\t4G\nHz\n"时,这会导致第一行以制表符开头,输出应该为 0。但是,它仍然给我 1 作为输出。

当我测试“0\n0 3\n\n”时,它给出了错误的输出 3。感谢您的帮助。

最佳答案

解决方法是:

def digit_leading_lines(text):
    lines = text.splitlines()
    count = 0
    for line in lines:
        if line and line[0].isdigit():
            count += 1
    return count

关于python - 如何检查有多少行以数字开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36114324/

相关文章:

python - 使用 python flask 的松弛事件 API 响应

python - 没有得到 LD_LIBRARY_PATH

python - Django 选择和字典

string - PySpark:如何计算字符串之间的空格数?

java - 字符数组和for循环错误

python - Django 模型 OneToOneField 无需创建额外的 _id 数据库列

Java 字符串连接

java - JSTL 标记内使用的 EL 表达式之前的“#”字符表现奇怪

r - 提高 R 中 ifelse-for 循环的速度,同时在循环内填充矩阵

c - 加密字符串