我有一个包含工作日和开放时间的字符串,如何使用正则表达式将这些字符串分割成行?字符串的示例是:
Mån - Tor6:30 - 22:00Fre6:30 - 20:00Lör9:00 - 18:00Sön10:00 - 19:00
我想分开一个较低的字母和一个数字,以及一个数字和一个大写字母
Mån - Tor 6:30 - 22:00 Fre 6:30 - 20:00 Lör 9:00 - 18:00 Sön 10:00 - 19:00
提前致谢!
解决方法
拆分
(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)
例如,在C#中:
splitArray = Regex.Split(subjectString,@"(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)");
或者在PHP中:
$result = preg_split('/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/u',$subject);
或者在Java中:
String[] splitArray = subjectString.split("(?<=\\d)(?=\\p{L})|(?<=\\p{L})(?=\\d)");
或者在Perl中:
@result = split(m/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/,$subject);