Stata程序:切割文件路径和文件名
全文阅读:https://www.lianxh.cn/news/7a233062143f9.html
作者:连玉君 (中山大学)
E-Mail: arlionn@163.com
问题描述
在编写 ado 文件时,要从用户输入的绝对文件路径中切割出「文件路径」和「文件名」。例如,
- 用户输入的文件地址:「D:\stata15\ado\personal\mydata/bigfile.txt」 切割后的希望得到:
- 文件路径: 「D:\stata15\ado\personal\mydata/」
- 文件名: 「bigfile.txt」
解决思路
以最后一个出现的 \ 或 / 为分界点切开字符串,左侧的为文件路径,右侧的为文件名。
有两种情形需要考虑:有些用户输入的文件地址信息中只有文件名,即默认存储于当前工作路径下的文档;还有些用户输入的文件地址同时包含 \ 和 / 字符 (如本例)。
因此,我们需要事先判断用户输入的文件地址中是否包含 \ 或 / 字符;进而从字符串右侧确定 \ 或 / 出现的位置,并以此为基础切割字符串。
对于 Stata 14 以上的用户,可以使用 ustrrpos() 函数来确定某个字符最后一次出现的位置,详情参见 help ustrrpos()。
对于 Stata13 以前的用户,虽然没有 ustrrpos() 函数,但我们可以先使用 strreverse(s) 函数把用户输入的文件地址字符串翻转,继而使用 strpos() 函数确定 \ 或 / 出现的位置即可。
一旦确定了 \ 或 / 最后一次出现的位置,就可以使用 substr() 函数进行切割了。
全文阅读:https://www.lianxh.cn/news/7a233062143f9.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
