我们有一些未格式化的数据已经传递给我们,需要将其转换为分钟:
2hr
2hr 30min
3 hours
3 hr
3 hrs
3hr
3hrs
4 hours
4 hrs
4 hrs 10 mins
6 hrs
我想做的是从string中删除第一个空格,这将导致:
2hr
2hr 30min
3hours
3hr
3hrs
3hr
3hrs
4hours
4hrs
4hrs 10 mins
6hrs
然后,我可以把第一个“单词”转换成分钟,去掉所有非数字的东西,然后乘以60。之后,我可以把第一个单词之后的每一个都加到结果中。但我只需要去掉第一个空格。
我在考虑REGEXP_REPLACE,但不确定如何只使用第一个空格。
多谢了!
1条答案
按热度按时间jdg4fx2g1#
你不需要去掉空格。您可以找到后跟零或多个空格的数字,然后是
h
或m
表示小时和分钟。或十进制小时和分钟:
其中,对于样本数据:
输出:
| 持续时间|分钟|
| --|--|
| 2hr| 120 |
| 2小时30分钟| 150 |
| 3小时| 180 |
| 3小时| 180 |
| 3小时| 180 |
| 3hr| 180 |
| 3小时| 180 |
| 4小时| 240 |
| 4小时| 240 |
| 4小时10分钟| 250 |
| 6小时| 360 |
| 1.5小时| 90 |
| 0.25小时| 15 |
| 1.1m |1.1|
fiddle