我想要一个公式,在字符串中搜索所有出现的http
并删除整个链接。例如:
This is the best story ever http://www.usatoday.com make sure to read it twice. http://www.usatoday.com/image.jpg
会变成:
This is the best story ever make sure to read it twice.
从我读过的内容来看,应该这样做:
=TRIM(LEFT(A1,FIND("http",A1)-1))&RIGHT(A1,LEN(A1)-FIND(" ",A1,FIND("http",A1))+1)
但我仍然得到#VALUE!
。
我希望能够让代码在字符串中的任何位置找到URL。此外,如果没有找到URL,我只想重新打印原始字符串。
有什么想法吗?
答案 0 :(得分:4)
请尝试:
=TRIM(REPLACE(A1,FIND("http://",A1),IFERROR(FIND(" ",A1,FIND("http://",A1)),LEN(A1)+9)-FIND("http://",A1)+1,""))
如果您想要删除网址,而不仅仅是句末。
IMO @Siddharth Rout的以下编辑提供了比上述更好的解决方案。
非VBA /非公式方法
Find And Replace
对话框。Find What
中,输入不带引号的“http:// *”。请注意*
Replace With
为空。Replace All
Find What
中,输入不带引号的“http:// *”。请注意*
Replace With
为空Replace All
你已经完成了。
答案 1 :(得分:2)
您可以创建自己的公式以在Excel中使用正则表达式。
Tools > References...
Microsoft VBScript Regular Expressions 1.0
Microsoft VBScript Regular Expressions 5.5
VBAProject (Book1.xlsx)
Insert > Module
粘贴此代码
Public Function RgxReplace(aregexp As String, _
astring As Range, _
areplace As String) As String
Dim re As RegExp
Set re = New RegExp
re.Pattern = aregexp
RgxReplace = re.Replace(astring, areplace)
End Function
并保存
现在你的名单中有一个新公式
您可以使用regexp替换使用模式的字符串。在你的情况下它将是
(特别感谢vdasus)
答案 2 :(得分:1)
试试这个:
=TRIM(MID(A1,1,SEARCH("http",A1)-1))
无法测试,所以我留给你。