2016-09-17 51 views
-1

您好,我有一些带有数字编号的照片名称。我想删除这些数字。例如删除单元格中的文本之间的数字编号

Cell A     | Cell B 
--------------------------------------------- 
My-photo-name-120X230.jpg | my-photo-name.jpg 
---------------------------------------------- 
photo-you-name-240x320.jpg| photo-you-name.jpg 

希望你能理解我的问题。感谢

+1

到目前为止您尝试过什么?另外“X”不是一个数字,但也应该删除?有(数学)逻辑规则吗? –

+0

@DirkReichel以固定宽度和输入特殊字符的方式尝试将文本添加到列工具。我也尝试'=左(A4,LEN(A4)-SEARCH(“x”,A4)-4)'的代码,但没有得到我想要的。是的x不是数字没有问题在这个这是在他们的,因为它的显示照片大小像120x230,如果数字将无论如何删除我可以删除x通过搜索和替换工具。谢谢 – deva

+0

这个名字将永远是''sometext' - *** X ***。jpg'?如果是,那么'= LEFT(A1,LEN(A1)-12)&“。jpg”'应该做... –

回答

1

如果最后一个模式是总是喜欢-###X###.jpg则公式:

=LEFT(A1,LEN(A1)-12)&".jpg" 

会做。或

=LEFT(A1,LEN(A1)-12)&RIGHT(A1,4) 

如果不是所有的图片都*.jpg

1
Sub RemoveNumbersFromStrings() 
     Set rNg = ThisWorkbook.Sheets("Sheet2").Range("A1:A7") 
     For Each rCell In rNg.Cells 
      If rCell.Value <> "" Or rCell.Value <> vbNullString Then 
       vAr = Trim(ThisWorkbook.Sheets("Sheet2").Range("a1").Value) 
       vAr2 = Mid(vAr, InStr(vAr, ".") - 7, InStr(vAr, " -") + 7) 
       ThisWorkbook.Sheets("Sheet2").Range("b1").Value = Replace(vAr, vAr2, "") 
      End If 
     Next rCell 
    End Sub 
1

如果VBA是允许的,然后正则表达式是一个很好的工具。

pattern = "\d+x\d+" 
    replacement = "" 
    dim rgx as new regex(pattern) 
    range("A1").value = rgx.replace(range("A1").value, replacement) 

这应该这样做,还没有测试它,因为我正在我的手机上打字。
代码修复了A1,但可以循环以适应。

相关问题