Foxtable(狐表)用户栏目专家坐堂 → [求助]为何文本替换替换不了?


  共有2437人关注过本帖树形打印复制链接

主题:[求助]为何文本替换替换不了?

帅哥哟,离线,有人找我吗?
小美菜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
[求助]为何文本替换替换不了?  发帖心情 Post By:2020/7/9 8:09:00 [显示全部帖子]

tStr =“中外合作办学>本科一批B政治学类(外交学)()” ,这个文本 用xStr = tStr.Replace(“中外合作办学>”,""), xStr与原tStr 一样,因为需要替换的文本很多,都没有替换下来,搞一天了,无任何进展

 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2020/7/9 8:31:00 [显示全部帖子]

Dim tStr As String = dr("其它说明")
    'Dim 
    If tSTr.Trim <> "" Then
    Output.Show(tStr & ":正在处理..." & i & "/" & n & "lsthas.Count:" & lsthas.Count)
        For Each xStr As String In lsthas
            If xStr <> "" Then
                dr("其它说明") = tStr.Replace(xStr,"")
                Application.DoEvents()
            End If
        Next
        i = i + 1
    End If


 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2020/7/9 8:45:00 [显示全部帖子]

还是有半角全角问题,唉,怎么搞都替换不了,用窗口跟踪,有10条符合记录的,它处理2~6条,你重新来,它又处理几条,搞好几次,才能处理完,带字母字符的几乎处理不了


 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2020/7/9 20:34:00 [显示全部帖子]

蓝老师,转成半角是可以一次改完,但余下的顿号变问号,转全角,还是问号,怎么办?


 回到顶部
帅哥哟,离线,有人找我吗?
小美菜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:646 积分:4893 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2020/7/10 9:57:00 [显示全部帖子]

没办法,做了下面代码替代
Dim iStr As String =  Args(0)'
Dim sStr As String = Args(1)'
Dim dStr As  String = ""
If  Args.Length > 2 Then dStr =  Args(2)'
iStr = iStr.Trim()
sStr = sStr.Trim()
dStr = dStr.Trim()
Dim iStrWd As String = StrToWide(iStr)
If sStr = "" Then  Return iStr
Dim asStr() As String = sStr.Split(iif(sStr.Contains("§"),"§","|" ))
Dim adStr() As String = dStr.Split(iif(dStr.Contains("§"),"§","|" ))
For i As Integer = 0 To ubound(asStr)
    asStr(i) = asStr(i).Trim
    Dim sStrWd As String = StrToWide(asStr(i))
    Dim idx As Integer = iStrWd.IndexOf(sStrWd)
    Dim l As Integer = sStrWd.Length
    If idx< 0 Then Continue For ' Return iStr
    If l > 0 Then
        Dim xStr As String = iStr.SubString(idx,l)
        iStr = iStr.Replace(xStr,"")
        If adStr(i) IsNot Nothing Then
            adStr(i) = adStr(i).Trim
            If  adStr(i).Length > 0 Then iStr = iStr.Insert(idx, adStr(i))
        End If
    End If
Next
Return iStr

 回到顶部