我正试图找到一种方法,使用excel函数分割下面的字符串(粘贴在nessus的excel中)
Share: c$ path: /some/path/to/file.txt (1234567890123456)
Share: d$ path: /some/path/to/file1.txt (1234567890123)
以便接下来的两个单元格
c:/some/path/to/file.txt
接着是
1234567890123456
我该怎么做?我一直在尝试使用LEFT,MID,RIGHT,SEARCH和CONCATENATE函数,但没有得到它。任何帮助,将不胜感激。感谢。
编辑:忘了提及格式:
更改的值位于<>
Share: <drive>$ path: <path to file> (<number>)
答案 0 :(得分:2)
假设要拆分的字符串在单元格A1中:
=MID(A1,8,1)&":/"&LEFT(MID(A1,SEARCH("path: ",A1,1),LEN(A1)),SEARCH(" (",MID(A1,SEARCH("path: ",A1,1),LEN(A1)),1)-1)
以上公式将为您提供c:/some/path/to/file.txt
部分,以下公式将为您提供1234567890123456
部分:
=LEFT(MID(A1,SEARCH(" (",A1,1)+4,LEN(A1)),LEN(MID(A1,SEARCH(" (",A1,1)+4,LEN(A1)))-1)
请注意,这些公式基于一些不会改变字符串格式的事情(例如,文件路径和数字之间的间距是一致的,一致地使用括号,字符串始终以{{开头) 1}},Share:
始终跟随驱动器并始终在文件路径之前,等等)。
答案 1 :(得分:1)
您可以使用以下两个公式:
=MID(A1,FIND("(",A1)+1,FIND(")",A1)- FIND("(",A1)-1)
=MID(A1,FIND("Share: ",A1)+7,1) & ":" & MID(A1,FIND("path: ",A1)+6,FIND("(",A1)-FIND("path: ",A1)-8)
第一个返回文件长度,第二个返回文件名。最好使用FIND,因为它区分大小写。
这些公式基于在文本中找到以下部分:(
,)
,Share:
和path:
。
如果您需要使用更长的sharenames,您可以编写第一个公式:
=MID(A1,FIND("Share: ",A1)+7,1) & ":" & MID(A1,FIND("path: ",A1)+6,FIND("(",A1)-FIND("path: ",A1)-8)
但如果它在Windows上,则需要使用UNC路径,如\\servername\sharename\path
。