原数据:
整理后数据:
以上是一份视频文件名称,通过PQ对文件夹内的名称进行导入后得到的。由3部分组成:集数 文件名 文件格式。我们需要分别把其拆分成3个列,我们看下如何操作。
(一) 首先我们先分析文件名的规律。
1. 文件格式的分割。
文件格式相对比较好容易拆分,只需要根据小数点的符号进行拆分即可。
2. 提取在数字格式和小数点之间的文件名
但是集数和文件名的提取相对比较麻烦。若是通过空格来进行拆分,我们看 222-234人鱼又再度悲泣(事件篇)(疑惑篇)(解决篇).RM
这个文本没有存在空格,所以如果按空格拆分就会出现如下问题,这个不是我们需要的。
(二) 根据非中文字符和中文字符的条件进行分割。
确定非中文字和中文字的位置。确定文本中指定位置的函数我们知道有以下几个。 Text.PositionOf,Text.PositionOfAny,List.PositionOf,List.PositionOfAny。有了第一个中文字符所在的位置,那提取就很容易了,只需要使用Text.Range进行提取即可。 因为我们这里是需要查找所有的中文字符,有几种处理思路。
1. 通过Text.PositionOf List.Transform List.Select List.Min方式。
解释:
代码语言:javascript复制List.Min(
List.Select(
List.Transform({"一".."龟"}, //查找全部中文字符
(a)=> Text.PositionOf([Name],a) //找到对应中文字符所在的文本位置,未找到的为-1
),
each _ <>-1 //提取全部中文位置的位置
)
) //提取第一个中文所在位置
2. 通过Text.PositionOfAny方式
解释:
代码语言:javascript复制Text.PositionOfAny([Name],{"一".."龟"}) //查找第一个中文所在的位置
我们可以根据以上的案例,可以自定义一个函数,以后就可以方便提取。
请点个赞,转发分享给更多的人。