go - 字符串的条件拆分
问题描述
我想拆分“a/b/c”类型的字符串并允许通过“\”转义。例如:
'foo/bar\/2.2/baz':
a=foo
b=bar/2.2
c=baz
有什么优雅的方法可以用'/'分割,忽略'\/'?
解决方案
无论您使用哪种语言,您都可以使用两种基本方法。
- 搜索所有
/
不紧随其后的出现\
并执行拆分。 \/
用不包含的唯一符号替换所有实例/
,然后拆分/
,并再次替换唯一符号\/
。
从计算的角度来看,前者会更有效。
从编码复杂性的角度来看,后者可能更容易编写。
推荐阅读
- javascript - JS:尝试制作一个可以放大和缩小图像的重复函数
- java - 我们可以对所有活动使用单个操作栏吗?
- reactjs - React-router 和 Gitlab 页面:丢失 location.state
- java - Building UI for Spring Boot Application
- vba - 第一个成功后如何在 VBA 中运行这个 SQL 脚本?
- php - 如何在 macOS Mojave 上启用 PHP Intl 扩展?
- java - Add source of my project A to my project B maven
- typescript - Why Typescript allows implements abstract class?
- c++ - Parallel vector multiplication using several threads takes longer than sequential
- erlang - configure Ejabberd and Psi at localhost