设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2204|回复: 2
打印 上一主题 下一主题

[模块/函数] 英文标点符号替换成中文标点符号的函数

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-18 17:02:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. Private Function enTozhMark(ReplaceStr As String) As String
  2. '把传递进来的字符串中的英文标点符号替换成中文标点符号
  3. '作者:咱家是猫 QQ:130036500

  4.     Const enStr As String = ",.?;:!()"
  5.     Const zhStr As String = ",。?;:!()"
  6.     Dim I As Byte, L As Integer, B As Boolean, N As Integer
  7.    
  8.     enTozhMark = ReplaceStr
  9.     '替换常规标点符号
  10.     For I = 1 To 8
  11.         enTozhMark = Replace(enTozhMark, Mid(enStr, I, 1), Mid(zhStr, I, 1))
  12.     Next I
  13.     L = Len(enTozhMark)
  14.     '替换双引号
  15.     N = 0: B = False
  16.     For I = 1 To L
  17.         N = InStr(N + 1, enTozhMark, Chr(34))
  18.         If N <> 0 Then
  19.             I = N
  20.             If B = False Then
  21.                 enTozhMark = Left(enTozhMark, N - 1) & "“" & Mid(enTozhMark, N + 1)
  22.             Else
  23.                 enTozhMark = Left(enTozhMark, N - 1) & "”" & Mid(enTozhMark, N + 1)
  24.             End If
  25.             B = Not B
  26.         Else
  27.             Exit For
  28.         End If
  29.     Next I
  30.     '替换单引号
  31.     N = 0: B = False
  32.     For I = 1 To L
  33.         N = InStr(N + 1, enTozhMark, Chr(39))
  34.         If N <> 0 Then
  35.             I = N
  36.             If B = False Then
  37.                 enTozhMark = Left(enTozhMark, N - 1) & "‘" & Mid(enTozhMark, N + 1)
  38.             Else
  39.                 enTozhMark = Left(enTozhMark, N - 1) & "’" & Mid(enTozhMark, N + 1)
  40.             End If
  41.             B = Not B
  42.         Else
  43.             Exit For
  44.         End If
  45.     Next I
  46.    
  47. End Function
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-1-2 09:12:04 | 只看该作者
太好了
3#
发表于 2010-1-2 18:28:53 | 只看该作者
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 01:59 , Processed in 0.083334 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表