Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在vb6(TrimChar)中从字符串的右侧和左侧删除某些字符_String_Vb6 - Fatal编程技术网

String 在vb6(TrimChar)中从字符串的右侧和左侧删除某些字符

String 在vb6(TrimChar)中从字符串的右侧和左侧删除某些字符,string,vb6,String,Vb6,我想删除字符串中错误使用的某些字符 “……我想删除。只删除。本文本外部的点……” 正如你所看到的,我不能用替换。我必须找到一种方法,只删除字符串左侧和右侧的字符,而这些点只是我要删除的字符的一个示例。我有一系列不需要的字符。所以在进程结束后,字符串应该是 “我想删除。只删除。这个文本的。点。外部” 但是我找不到一种方法来完成这项工作。VB6有一个Trim()函数,但它只删除空格 要从两端删除字符,需要依次检查每一端以删除字符,直到获得其他字符: Function TrimChar(ByVal T

我想删除字符串中错误使用的某些字符

“……我想删除。只删除。本文本外部的点……”

正如你所看到的,我不能用替换。我必须找到一种方法,只删除字符串左侧和右侧的字符,而这些点只是我要删除的字符的一个示例。我有一系列不需要的字符。所以在进程结束后,字符串应该是

“我想删除。只删除。这个文本的。点。外部”

但是我找不到一种方法来完成这项工作。

VB6有一个
Trim()
函数,但它只删除空格

要从两端删除字符,需要依次检查每一端以删除字符,直到获得其他字符:

Function TrimChar(ByVal Text As String, ByVal Characters As String) As String
  'Trim the right
  Do While Right(Text, 1) Like "[" & Characters & "]"
    Text = Left(Text, Len(Text) - 1)
  Loop

  'Trim the left
  Do While Left(Text, 1) Like "[" & Characters & "]"
    Text = Mid(Text, 2)
  Loop

  'Return the result
  TrimChar = Text
End Function
结果:

?TrimChar("........I.wanna.delete.only.the.dots.outside.of.this.text...............", ".")
I.wanna.delete.only.the.dots.outside.of.this.text
这远没有得到优化,但您可以扩展它,只计算出末端位置,然后执行单个
Mid()
调用

    Public Function Remove(text As String) As String

      text = Replace(text, "..", "")

      If Left(text, 1) = "." Then
         text = Right(text, Len(text) - 1)
      End If

      If Right(text, 1) = "." Then
         text = Left(text, Len(text) - 1)
      End If

      Remove = text

    End Function
如果您删除了“.”的任何实例,那么您可能要处理一个前导点和一个尾随点,也可能不需要处理。如果你足够幸运,能够保证点永远是偶数,那么

 text = Replace(text, "..", "")

这就是您所需要的。

以及如何获得
Replace()
来区分不同的功能。你想保持和这个。你不知道吗?他们不能替换字符串的整个“保留”部分,直到他们知道它是什么(这是他们所要求的)嗯,是的。我(错误地)认为他想要保留的字符串是一个常量。编辑我的答案以提供一个有效的答案。@Deanna.+1的不同方法为了简单起见,在@Deanna的帮助下,我用了更长的方法。事实上,我也会把这个例子作为一个答案,但你的答案很简单,完全解决了问题。谢谢你。这比任何。。在绳子的中间……………这个怎么样?这不再是他们想要的:|..”