擅长:python、mysql、java
<p>你可以用这样一个简单的<a href="https://wiki.python.org/moin/Generators" rel="nofollow">generator function</a>滚动你自己的:</p>
<pre><code>def string_stream(s, separators="\n"):
start = 0
for end in range(len(s)):
if s[end] in separators:
yield s[start:end]
start = end + 1
if start < end:
yield s[start:end+1]
</code></pre>
<p>示例用法:</p>
<pre><code>>>> stream = string_stream("foo\tbar\nbaz\n", "\t\n")
>>> for s in stream:
... print(s)
...
foo
bar
baz
</code></pre>
<p><a href="http://docs.python.org/2/library/stringio.html#module-cStringIO" rel="nofollow">cStringIO</a>可能更快(我还没有测试过),但这将使您在定义/使用分隔符时具有灵活性。</p>