精华内容
下载资源
问答
  • 最近有个网友提问,下面的代码并没有指定正则表达式的匹配模式(Pattern属性),为什么也可以执行,正则对象根据什么规则去进行匹配。

    最近有个网友提问,下面的代码中并没有指定正则表达式的匹配模式(Pattern属性),为什么也可以执行,正则对象根据什么规则去进行匹配。
    示例代码如下。

    Sub Demo()
        Dim strText As String
        Dim strNew As String
        Dim varText
        Dim objRegExp As Object
        Set objRegExp = CreateObject("VBSCRIPT.REGEXP")
        With objRegExp
            .Global = True
        End With
        strText = "ABCDEFGH"
        strNew = objRegExp.Replace(strText, " ")
        varText = Split(Trim(strNew))
        Stop
        Set objRegExp = Nothing
    End Sub
    

    运行代码,本地窗口如下所示。strText为需要处理的字符串,共有有8个字符,经过正则替换,结果保存在变量strNew中,不难看出首位各有一个空格,并且每个字符之间也插入了一个空格。这是如何实现的呢?
    在这里插入图片描述
    正则对象不指定匹配模式时,相当于Pattern = "",此时匹配字符串中的每一个位置(零宽),注意不是每个字符。例如对于字符串ABCD,包含4个字符,这个非常容易理解,但是其中包含5个位置(下箭头所示),如下图所示。黄色标记为字符串的开始和结束标记。
    在这里插入图片描述
    知道了匹配位置(零宽)和匹配字符的区别,就不难理解为什么正则替换的结果包含前导空格和尾随空格。
    第12行代码使用Split函数将正则替换结果拆分为数组。


    字符串转换为单字符数组有多种实现方式,本文只是其中的一种正则应用而已。

    展开全文
  • VBA数组使用

    2019-01-19 17:00:07
    数组和字典也是VBA的常用到数据类型之一。但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。 事实上,字典不是VBA内置的类型,它是Windows脚本语言的...
  • 例如: string a="ILOVEU"; string[] F={"I","L","U"}; 循环条件? if(怎么判断a是否在数组F里) { 在F里并且提取出来 }ELSE{不在}
  • VB定义字符串数组并赋值

    千次阅读 2019-06-26 16:56:56
    一:代码如下 --定义变量 Dim J As Long J = 0 Dim sSQL As String Dim rs As ADODB.Recordset ’--定义Recordset对象 Dim sList() As String '--定义...UBound 函数返回数组中指定数组维的最大下标值。

    一:代码如下

     --定义变量
      Dim J As Long  
      J = 0
      Dim sSQL As String
      Dim rs As ADODB.Recordset  ’--定义Recordset对象
      Dim sList() As String    '--定义数组      
      
      sSQL = "select WarehouseId from paraDBWarehouseId "     
      Set rs = K3Conn.Execute(sWarehouseIdSQL)
               
      While Not rs.EOF
           ReDim Preserve  sList(0 To J) As String '--重定义数组大小
           sList(J) = rs("name")           '--name 为表中的字段名
           J = J + 1
           rs .MoveNext
     Wend
    
      For c = 0 To UBound(sList)
           print sList(c)          
      Next c
    

    二:笔记:

    1. dim是声明私有变量的意思,另外还有公有变量和保护型变量,分别是public和private.
    2. ReDim 语句用来定义或重定义原来已经用带空圆括号(没有维数下标)的 Private、Public 或 Dim 语句声明过的动态数组的大小。
    3. EOF:指当前记录位置位于Recordset对象的最后一个记录之后。
    4. UBound 函数返回数组中指定数组维的最大下标值。
    展开全文
  • word vba 如何查找出一个字符串中包括了多少个指定子字符串? Sub at() aaaa = "ASDFSF。ASDF。SDF。234。'XCV。d" '第1种方法 bbb = Replace(aaaa, "。", "") cccc = Split(aaaa, "。") CS1 = Len(aaaa) - Len...

    word vba 如何查找出一个字符串中包括了多少个指定子字符串?

    Sub at()
    
    aaaa = "ASDFSF。ASDF。SDF。234。'XCV。d"
    
    '第1种方法
    bbb = Replace(aaaa, "。", "")
    cccc = Split(aaaa, "。")
    CS1 = Len(aaaa) - Len(bbb)
    
    
    '第2种方法
    CS2 = UBound(Split(aaaa, "。"))
    
    End Sub

    第1种方法,主要使用了replace函数和len函数。

    对比替换前后的字符串的长度差值,该差值即是。

     

    第2种方法:

    使用split函数后,用ubound函数求出得到数组的上标数值。

    该上标值即是。

    展开全文
  • '自定义函数,将数组中的元素连接起来(可以每个元素两边分别加字符) 'By Gao Dawei,2020-10-09 Function ArrayJoin(ByVal arr As Variant, Optional element_plugin_left As String = "", _ Optional element_...

    方便在sql拼接时使用

    '自定义函数,将数组中的元素连接起来(可以每个元素两边分别加字符)
    'By Gao Dawei,2020-10-09
    Function ArrayJoin(ByVal arr As Variant, Optional element_plugin_left As String = "", _
                      Optional element_plugin_right As String = "", Optional delimiter As String = ",")
      Dim ele As Variant, n As Long
      Dim arr_result() As String
      
      For Each ele In arr
        n = n + 1
      Next
      ReDim arr_result(1 To n) As String
      n = 0
      For Each ele In arr
        n = n + 1
        arr_result(n) = StringFormat("{1}{0}{2}", ele, element_plugin_left, element_plugin_right)
      Next
      ArrayJoin = Join(arr_result, delimiter)
    End Function
    
    '模仿C# string.Format()
    '没有设置数量的判断,使用时自己判断好{n}
    '例:正常写作 "hello " & str,可以用此函数写作StringFormat("hello {0}",str)
    'By Gao Dawei,2020-10-09
    Function StringFormat(ByVal str As String, ParamArray arr_replace_with() As Variant)
        Dim item As Variant
        Dim n As Long, n_source As String
        Dim result As String
        
        result = str
        For Each item In arr_replace_with
            n_source = "{" & n & "}"
            result = Replace(result, n_source, item)
            n = n + 1
        Next
        StringFormat = result
    End Function
    
    
    展开全文
  • 使用split() 处理excel里的文本字符串—转为array 使用splint()处理数据时,不受 option base 影响 Sub test2001() Rem range("f1").value="1001|1,2005|1,1006|1,2009|1,2006|1,4001|60" arr1 = Split(Range(...
  • 用逗号分割字符串并存到数组中 string a = “a,aca,cca,ca”; string[] reg = a.Split(’,’);
  • VBA快速合并字符串方法

    千次阅读 2020-12-23 02:16:44
    本文将就讲一下VBA中快速连接字符串的集中方法。 我们使用一个简单的示例,提取1-10的偶数并输出结果,判断偶数非常简单,程序主框架如下。 Sub Demo() Dim i As Integer, msg As String For i = 1 To 10 If ...
  • 转自:http://www.pinlue.com/article/2018/09/1514/087188585901.html
  • 这个字符串取反strreverse,连10都变01,不可行,不是按单个元素取反序的。 局限性较大 少数情况,每个element 都是但字符的 但数字字母的也许可用。 Sub jackma_arrtest1() '好像没有数组直接反...
  • 查找单元格中包含特定字符串中的某一个,并返回该特定字符串,查找单元格中包含特定字符串中的某一个,并返回该特定字符串
  • VBA巧妙处理字符串连接

    千次阅读 2020-04-05 11:28:35
    字符串连接是经常需要用到的功能,在VBA代码可以使用`+ `也可以使用`&`运算符,似乎是简单的不能再简单的功能,但是实际使用过程也是有一些技巧的。
  • VBA利用数组极速计算交集和并集,超过普通算法交集,极速版本
  • Dim d As Object Set d = CreateObject("scripting.dictionary") Dim r as Integer Dim arr r = Cells(Rows.Count, 1).End(xlUp).Row arr = Range("a1:o" & r) '省略一些,理解思路即可 d(arr(i, 2)) = d(arr(i,...
  • Python实现字符串数组相互转换功能,具体如下: 1、字符串转数组: str_ = '1,2,3' arr = str_.split(',') arr ['1', '2', '3'] 2、数组字符串: arr0 = ['a','b','c'] str0 = ','.join(str(j) for j in ...
  • VBA中字符串的相关函数

    千次阅读 2019-05-24 15:53:56
    目录 trim()、lcase()、ucase() ...使用 replace() 把字符串中的某个字符替换成其它字符 使用 split() 把字符串按某个字符分割 instr运算符 Like运算符 使用string()进行填充 trim()、lcase()、ucase() ...
  • NULL 博文链接:https://duanfei.iteye.com/blog/1883475
  • 大家好,我们今日继续讲解VBA代码解决方案的第61讲内容:在VBA中如何使用动态数组,以及利用动态数组去除重复值的方法。在上一讲我们讲了使用数组函数将单元格的文本进行分隔后写入到工作表的方法,那么问题...
  • Excel VBA 里面有个function可以按byte读取字符串
  • 从一字符串数组中取出指定字符并将其组成新的字符串数组,gcc编译通过。   #include<stdio.h> #include<string.h> int main() { char ch1[]="askdaskaskdaskg",str...
  • VB/VBA字符串

    2021-07-25 13:21:19
    字符串在人机交互,举足轻重,是站人这一边的,其作用甚至比变量和函数更突出。变量详见《变量,还有这些秘密》,函数详见《VB/VBA中的函数,用了那么久,其实是这样的》。试想没有字符串的中间协助,人根本就不...
  • VBA字符串处理大全-from EH

    万次阅读 2017-06-22 09:54:45
    VBA字符串处理大全 转载出处 1 VBA的字符串 2 VBA处理字符串的函数  2.1 比较字符串  2.2 转换字符串  2.3 创建字符串  2.4 获取字符串的长度  2.5 格式化字符串  2.6 查找字符串  2.7 提取...
  • 数组字符串 1. import java.util.Arrays int[] arr = {1,2,3,4,5,6}; String newArr = Arrays.toString(arr); System.out.println(newArr); // 执行结果 [1, 2, 3, 4, 5, 6] 使用这个方法后续打印数组就更方便...
  • 大家好,我们今日继续讲解VBA数组与字典解决方案第22讲:在VBA中如何使用动态数组,以及利用动态数组去除重复值的方法。如果文本含有大量的重复值,此时,如果我们要剔除重复值,该怎么办?用VBA的方法该如何做到...
  • #字符串转换数组 str=abcdefghijk for index in `seq 0 $((${#str}-1))` do array[$index]=${str:$index:1} done echo "method1:str size is:${#array[@]} ${#str}" echo "method2:" for i in `seq 1 7` do ...
  • String[] elements = new String[] {"a","b","c"}; //数组  String str= " " ; //拼接之后的字符串  for (int i = 0; i < elements.length; i++) {  if (i < element...
  • 12, excel vba 常用字符串处理函数

    万次阅读 多人点赞 2018-09-10 23:24:51
    处理excel数据 很多时候要和字符串打交道, 比如 0,想要知道一个字符串的长度是多少? 1, 判断字符串是不是含有你需要的字符 2, 截取字符串的某一个部分 3, 将字符串里的某个字符进行替换 4, 把字符串按某个字符...
  • 主要介绍了VBScript把json字符串解析成json对象的2个方法,本文通过MSScriptControl.ScriptControl和jscript实现,需要的朋友可以参考下
  • VBA 如何给数组去重?

    千次阅读 2019-12-25 16:56:48
    代码1:字典方法 Sub jackma1() arr1 = Array(1, 2, 3, 4, 5, 1, 1, 1, 5) ...Dim dict1 As Object Set dict1 = CreateObject("scripting.dictionary") ...'把array的element当做key,赋值item为空 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,693
精华内容 1,077
关键字:

vba字符串包含数组中的字符