读取文本文件并按字符分隔行

时间:2018-12-16 14:59:10

标签: python python-3.x

我有带有以下示例内容的文本文件:

12/13/18, 14:06 - her:IMG-20181213-WA0005.jpg (file attached)12/13/18, 14:06 - her:PTT-20181213-WA0006.opus (file attached)12/13/18, 14:07 - kristal: its not in the right quality?12/13/18, 14:14 - her:bla bla bla bla12/13/18, 14:43 - kristal: ok for this size12/13/18, 14:43 - kristal: somthing somthing
12/13/18, 14:43 - kristal: rect12/13/18, 14:43 - Enav Sharon-kristal: need square12/13/18, 14:48 - her:sending files12/13/18, 14:49 - Enav Sharon-kristal: ok then

我如何编写一个读取所有文本并将其划分为行的代码(当您看到12折行时)并将其保存。

4 个答案:

答案 0 :(得分:0)

您可以只使用字符串replace()方法执行此操作:

your_long_string.replace('12', '\n12')

您可以更具体一些;也许您担心某些消息在日期之后包含“ 12”:

your_long_string.replace('12/', '\n12/')

如果您需要变得更加健壮,则需要学习使用正则表达式(可能会有点复杂; have a look)。

您可以将其拆分为多行:

your_long_string.replace('12/', '\n12/').splitlines()

您可以像这样循环遍历每一行:

for line in your_long_string.replace('12/', '\n12/').splitlines():
    # do whatever
    print(line)

或者您也可以将其保存回文本文件:

file = open(filename, 'r')
long_string = file.read()
file.close()
with open(filename, 'w') as file:
    file.write(long_string.replace('12/', '\n12/'))

答案 1 :(得分:0)

如果首选输出是行列表,请尝试 split()

rows = text.split("12")

要连接这些行,请使用 join()

linebreaked_text = "/n12".join(rows)

答案 2 :(得分:0)

确定要在每个navigationController.navigate(R.id.B, bundle); 之前插入#legacySQL SELECT * FROM TABLE_QUERY([myproject:daily_mydataset], 'REGEXP_MATCH(table_id, "^mytable_")'; 吗?

我看到它来自日期,但是如果您查看:

new line

文本中有一个12,您可能不想换行

如果您在日期之前中断:

12/13/18, 14:06 - her:IMG-20181213-WA0005.jpg

答案 3 :(得分:0)

就这么简单:D

如果您希望结果列在列表中,

data = string.split(“12”)

或者如果您希望结果按行除以字符串,

data = “\n”.join(string.split(“12”))

Python有很多好的方法