我需要在VB中替换路径文件的末尾。所以我试试这段代码:
for (var i = 1; i <= 20; i++) {
if (i % 3 === 0 && i % 5 === 0) {
console.log("FizzBuzz");
}
else if (i % 5 ===0) {
console.log("Buzz");
}
else if (i % 3 === 0) {
console.log("Fizz");
}
console.log(i);
}
第一个MsgBox函数返回以下结果:
C:/ Users / Bruno / Documents / Visual Studio 2010 /项目/ SerEbics / SerEbics / bin中/调试/ Certificats / 512250X002.pfx
但是第二个让我走上了同样的道路:
C:/ Users / Bruno / Documents / Visual Studio2010 / Projects / SerEbics / SerEbics / bin / Debug / Certificats / 512250X002.pfx
所以我需要这个结果:
C:/ Users / Bruno / Documents / Visual Studio2010 / Projects / SerEbics / SerEbics / bin / Debug / Certificats / 512250_X002.pem
提前谢谢!
托马斯
答案 0 :(得分:3)
使用替换功能连续三行并不是你想的那么做。每次,他们都会将FichierFinal
设置为新的。所以他们没有相互建立。尝试用它替换它们:
FichierFinal = fichier.Replace("E002.pfx","_E002.pem")
FichierFinal = FichierFinal.Replace("X002.pfx","_X002.pem")
FichierFinal = FichierFinal.Replace("A005.pfx","_A005.pem")
答案 1 :(得分:1)
这是因为您的上一次替换还原了变量FichierFinal
中的原始名称。只有当文件以其中一个期望的字符串结束时,才应执行替换。
If fichier.EndsWith("E002.pfx") Then
FichierFinal = fichier.Replace("E002.pfx","_E002.pem")
Else if fichier.EndsWith("X002.pfx") Then
FichierFinal = fichier.Replace("X002.pfx","_X002.pem")
Else if fichier.EndsWith("A005.pfx") Then
FichierFinal = fichier.Replace("A005.pfx","_A005.pem")
End If
通过这种方式,您只执行一次替换而不是三次。请记住,每次调用Replace时,都会分配并返回一个新字符串,这取决于调用的上下文,这可能会影响代码的性能。
答案 2 :(得分:1)
你没有按照你的想法行事。在每个新行中,您取消了前一行
并将FichierFinal
定义为新值。
这将有效(不需要在3行中执行此操作):
FichierFinal = fichier.Replace("E002.pfx","_E002.pem").Replace("X002.pfx","_X002.pem").Replace("A005.pfx","_A005.pem")
答案 3 :(得分:0)
尝试使用此代码错误替换:
Private Function getfiledata(ByVal fichier As String) As String
Dim fileReader As String
Dim FichierFinal As String
MsgBox(fichier)
FichierFinal = fichier.Replace("E002.pfx","_E002.pem")
FichierFinal = FichierFinal.Replace("X002.pfx","_X002.pem")
FichierFinal = FichierFinal.Replace("A005.pfx","_A005.pem")
MsgBox(FichierFinal)
fileReader = My.Computer.FileSystem.ReadAllText(FichierFinal)
Return fileReader
End Function