如何拆分字符串而不进行复制?提升拆分字符串
Q
提升拆分字符串
4
A
回答
0
使用Boost Split,你不能。拆分字符串而不复制它们的明显(但丑陋的)方法是strtok
(或者,最好是strtok_s
)。
1
您可以使用在C++ 0x或C++ 98 TR1中定义的std::regex
--这会将迭代器返回到字符串中(好吧,无论如何,它都在一个门面后面) - 因此它不涉及复制字符串。 C++ 0x正则表达式支持提取匹配和分割(提取不匹配) - 因此它是strtok
的完全替代品,具有很多附加功能。
请参阅John Cook's webpage例如,wikipedia或video by Stephan T Lavavej。您可能需要使用boost::regex,直到C++ 0x得到更广泛的实施;两者兼容。
0
您可以使用类似于llvm::StringRef
的收件人,该收件人只是指向数组和大小的指针,并且不会为底层序列提供增变。
但是,这意味着重新编码自己的拆分逻辑。
相关问题
- 1. Elisp拆分字符串函数来拆分字符串。字符
- 2. C#拆分字符串 - 将字符串拆分为数组
- 3. 拆分字符串在字
- 4. 将字符串拆分为字符串
- 5. 将字符串拆分为字符串
- 6. 从字符串拆分字符串
- 7. PHP拆分字符串
- 8. Python字符串拆分
- 9. Python字符串拆分
- 10. ArrayIndexOutOfBoundsException在拆分字符串
- 11. 拆分后的字符串
- 12. 如何拆分字符串?
- 13. Cocoa-Touch字符串拆分
- 14. 拆分字符串在python
- 15. PHP拆分字符串
- 16. Python的字符串拆分
- 17. 字符串拆分问题
- 18. 如何拆分字符串?
- 19. 拆分一个字符串
- 20. Python字符串拆分
- 21. 将字符串拆分为“|”
- 22. 拆分字符串值c#
- 23. PHP - 拆分字符串
- 24. 拆分字符串数组
- 25. 字符串拆分比较
- 26. .NET字符串拆分()
- 27. MySQL字符串拆分
- 28. 拆分基于字符串
- 29. Sparklyr拆分字符串
- 30. SparkSQL拆分字符串
我以为你可以使用boost的iterator_range类型。 – user12232 2011-01-29 09:50:32