从文本中解析子字符串

2023-12-27

我正在编写一个宏,用于将 LDAP 格式的名称列表转换为“名字”、“姓氏”(区域)。

对于那些不知道 LDAP 是什么样子的人,如下所示:

CNN=约翰·史密斯(区域)、OU=法律、DC=示例、DC=命令

在 Excel VBA 中,我似乎无法使用 string.substring(start, end)。谷歌搜索似乎表明 Mid(string, start, end) 是最好的选择。

问题是这样的:在Mid中,end的整数是距start的距离,而不是字符的实际索引位置。这意味着不同的名称大小将具有不同的结束位置,并且我无法使用“)”索引来查找该区域的结束位置。由于所有名称都以 CN= 开头,因此我可以正确找到第一个子字符串的结尾,但无法正确找到“)”,因为名称长度不同。

我有下面的一些代码:

mgrSub1 = Mid(mgrVal, InStr(1, mgrVal, "=") + 1, InStr(1, mgrVal, "\") - 4)
mgrSub2 = Mid(mgrVal, InStr(1, mgrVal, ","), InStr(1, mgrVal, ")") - 10)
manager = mgrSub1 & mgrSub2

有没有办法使用设定的终点而不是距离起点有很多值的终点?


这是 vba.. 没有 string.substring ;)

这更像是VB 6(或下面的任何一个)..所以你被mid,instr,len(获取字符串的总len)所困。我认为你错过了len来获取字符串中的字符总数?如果您需要一些澄清,请发表评论。

edit:

另一个快速破解..

    Dim t As String
    t = "CN=Smith, John (region),OU=Legal,DC=example,DC=comand"
    Dim s1 As String
    Dim textstart As Integer
    Dim textend As Integer
    textstart = InStr(1, t, "CN=", vbTextCompare) + 3
    textend = InStr(1, t, "(", vbTextCompare)
    s1 = Mid(t, textstart, textend - textstart)
    MsgBox s1
    textstart = InStr(1, t, "(", vbTextCompare) + 1
    textend = InStr(1, t, ")", vbTextCompare)
    s2 = Mid(t, textstart, textend - textstart)
    MsgBox s2

显然你的问题是,由于你需要第二个参数的差异,你应该总是为它做一些数学计算......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从文本中解析子字符串 的相关文章

  • 使用 VBA 通过简单命令从非连续范围的并集获取值到数组中(无循环)

    我有以下任务 表面上很简单 使用 VBA 将电子表格上多个列的值复制到二维数组中 为了让生活更有趣 这些柱子并不相邻 但它们的长度都相同 显然 可以通过依次循环每个元素来做到这一点 但这看起来非常不优雅 我希望有一个更紧凑的解决方案 但我很
  • 如何使用 Excel Interop 获取筛选行的范围?

    我正在为我的项目使用 Excel Interop 程序集 如果我想使用自动过滤器 那么可以使用 sheet UsedRange AutoFilter 1 SheetNames 1 Microsoft Office Interop Excel
  • 如何在不滚动的情况下截取整个电子邮件正文?

    我正在使用 OL2010 想要制作整个电子邮件的屏幕截图 不仅仅是 屏幕 可以用VBA或者外部程序来完成吗 有一个类似的问题 https stackoverflow com questions 4176340关于如何使用 C 实现这一点 注
  • 如何使用 VBA 将 mm/dd/yyyy 更改为 dd/mm/yyyy

    我在使用 VBA 将 mm dd yyyy 转换为 dd mm yyyy 日期格式时遇到问题 我有一个这样的表 仅供参考 该表是从报告工具自动生成的 字符串操作 或任何 Excel 函数可以提供帮助吗 希望知道如何解决这个问题的人可以给我一
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • 在 VBA 中循环合并单元格

    是否可以循环遍历合并的单元格vba questions tagged vba 我的范围内有 6 个合并单元格B4 B40 我只需要这 6 个单元格中的值 6 次迭代 上面的答案看起来已经让你排序了 如果您不知道合并的单元格在哪里 那么您可以
  • VBA XML V6.0 如何让它等待页面加载?

    我一直在努力寻找答案 但似乎找不到任何有用的东西 基本上 我是从一个网站上拉取的 当您在该页面上时 该网站会加载更多项目 我希望我的代码在加载完成后提取最终数据 但不知道如何让 XML httprequest 等待 Edited Sub p
  • Confluence:使用 VBA 更新现有页面

    我尝试使用 VBA 更新 Confluence 页面 我的想法是使用REST API加载页面内容 修改内容然后上传修改后的版本 这是我的代码 Private Sub TestRESTApi Dim uname As String uname
  • laravel中过滤后如何导出excel?

    我想仅导出视图刀片中过滤的数据 我正在使用 Laravel 7 和 maatwebsite excel 3 1 和 PHP 7 4 2 我浏览了文档并应用了这个 View a href class btn btn success i cla
  • 无法将 Excel 值的类型“double”转换为“string”

    我正在加载 Excel 文件 如网络上许多地方所示 OpenFileDialog chooseFile new OpenFileDialog chooseFile Filter Excel files xls xlsl xls xlsx i
  • 我可以用文本框设置变量名称吗? excel

    我可以使用 TextBox Vba Excel 设置变量的名称吗 我必须以在文本框中写入组名称并单击命令按钮的方式输入新的产品组 代码必须从文本框中获取字符串 并将该字符串设置为新创建的数组的名称 我只想在运行时创建一个新变量 或数组 据信
  • 在Google电子表格中划分整列

    我是 Google 电子表格的一个相对较新的用户 我希望 B 列中的每个单元格都是 A 列 同一行 中内容除以 5 的结果 B1 B2 B3 等 商 应为 A1 A2 A3 等 被除数 除以 5 除数 在示例中 B1 A1 5 我知道一项一
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 在 Javascript 中获取第一个数字出现后的子字符串

    我正在尝试提取第一个数字之后 并包括 的字符 ABC 123SD gt 123SD 123 gt 123 123SD gt 123SD ABC gt 我当前的解决方案如下 var string1 ABC 123SD var firstDig
  • 无法摆脱脚本中的硬编码延迟

    我用 vba 结合 selenium 编写了一个脚本来解析网页中可用的所有公司名称 该网页启用了延迟加载方法 因此每个滚动中只有 20 个链接可见 如果我滚动 2 次 则可见链接数为 40 个 依此类推 该网页中有 1000 个可用链接 我
  • 在 VBA Excel 中查找、剪切和插入行以匹配借项和贷项值

    我在 Sheet1 中有以下设置数据 并从第 4 行 A 列开始 其中标题位于第 3 行 No Date Code Name Remarks D e b i t Cr e d i t 1 4 30 2015 004 AB 01 04 15
  • 当使用公式生成超链接时,VBA 打开 Excel 超链接不起作用

    使用公式生成的 Excel 超链接似乎存在错误 我使用的是 Excel 2010 我有一个电子表格 其中的单元格包含 URL 我的目标是执行以下两件事 将这些单元格变成超链接 创建一个键盘快捷键来打开这些超链接 这样我就不必使用鼠标了 为了
  • 在二维范围内查找匹配的公式

    我需要一个公式来查找二维范围内的值并返回匹配单元格的坐标或单元格地址 例如 R A B C 1 John Matt Pete 2 Sara Bret Chad 3 Lila Maya Cami 我想搜索范围A1 C3 for Chad并返回
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • Excel VBA - 添加自定义数字格式

    我有一个在 Excel 外部生成的文件 其中包含许多百分比 所有这些百分比都有一位小数 当导入到 Excel 中时 Excel 会在百分比中添加第二位小数 这似乎是 Excel 中百分比的某种默认格式 它只是添加了一个 0 我想将所有两位小

随机推荐

  • 领域从必需变量迁移到可空变量

    领域从必需变量迁移到可空变量 我有一个变量 它是我以前版本的领域中的必需字段 但对于较新的版本 我希望它不是必需的 而是可以为空的 我如何通过领域迁移来做到这一点 您可以检查示例迁移示例 https github com realm rea
  • Java 和 C++ 在对象创建方面的主要区别是什么?

    我正在准备 Java 考试 之前考试的问题之一是 Java 和 C 在对象创建方面的主要区别是什么 我想我知道对象创建的基础知识 例如如何调用构造函数 初始化块在 Java 中做什么 以及当一个类的构造函数调用另一个尚未构造的类的方法时会发
  • SSE:如果不为零则倒数

    如何使用 SSE 指令取浮点数的倒数 逆 但是仅适用于非零 values 背景如下 我想规范化向量数组 以便每个维度具有相同的平均值 在 C 中 可以将其编码为 float vectors num dim input data step 1
  • 如何从 python 脚本更改当前目录?

    我正在尝试实现我自己的 cd 命令版本 该命令向用户提供可供选择的硬编码目录列表 并且用户必须输入与列表中的条目相对应的数字 该程序名为my cd py现在 应该有效地将用户 cd 到所选目录 其工作原理示例 some directory
  • 获取数组中零和非零元素的索引

    我需要找到数组的零元素和非零元素的索引 换句话说 我想从中找到互补索引numpy nonzero 我知道这样做的方法如下 indices zero numpy nonzero array 0 indices nonzero numpy no
  • Django - 将字段添加到查询集中以存储计算结果

    我对 Django 很陌生 来自 PHP 世界 我试图在计算后向查询集中 添加 一个字段 但不知道该怎么做 在 PHP 中 我只需在数组中添加一列并将我的内容存储在其中 这是我的代码 def id mystuff details mystu
  • Haskell - 是否存在替换功能?

    我必须创建三个函数来替换扁平字符串和列表 我不知道是否有像其他语言那样的替换功能 但不幸的是我搜索过但没有成功 所以我的尝试还很薄弱 第一个功能 replace String gt String gt String gt String re
  • 在 TypeScript 中导入音频文件

    我在 TypeScript React 应用程序 使用 create react app 制作 中导入音频文件时遇到问题 我正在尝试像这样导入文件 import note from audio note1s mp3 但我收到了 TypeSc
  • 使用 React Hooks 的倒计时器

    所以定时器起作用了 如果我硬编码this state使用特定的倒计时数字 计时器在页面加载后开始倒计时 我希望时钟在单击按钮时开始倒计时 并具有改变时间的功能null of the state到一个随机生成的数字 我对 React 有点陌生
  • 哪个会使 Class 文件更大? import java.awt.*,还是一堆或单个导入语句? [复制]

    这个问题在这里已经有答案了 好的 如果我有一个项目使用 import java awt Graphics import java awt Graphics2D import java awt Dimension import java aw
  • PyCaffe中的layer模块在哪里定义

    我正在修改一个Caffe教程 http nbviewer jupyter org github BVLC caffe blob master examples pascal multilabel with datalayer ipynb实现
  • 检查父类中是否存在类

    我想检查某个元素的父元素之一中是否存在某个类 我不想使用任何库 只想使用普通 JS 在下面的示例中 如果相关元素位于以 the class 作为类名的元素的子元素中的某个位置 则应返回 true 我认为 jQuery 会是这样的 if th
  • bitbake:构建系统如何选择多个层提供的配方

    元层提供配方 meta recipes graphics x11 common xserver nodm init bb 元 oe 层提供配方 meta oe recipes graphics xserver nodm init xserv
  • 在生产应用程序中使用谷歌凭据的最佳方法是什么?

    我正在为 STT 构建 C net 应用程序 并且正在手动创建凭据 我发现文档对我来说非常混乱 我不知道如何正确添加凭据 我添加了一个项目 创建了一个 json 凭证并下载并保存在一个文件夹中 并手动指向它GoogleCredential获
  • 为什么以及何时使用 LINQ? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我从未在我的任何项目中使用过 LINQ 我一直在我的商业应用程序项目中使用 ado net OR 工具 所以我想知道 LINQ 有什么好处 为什
  • Python OpenCV 多处理 cv2.VideoCapture mp4

    我想运行一些mp4进程内的视频 但只有摄像头有效 软件卡住 没有错误消息 我已经尝试过这两种方法 但发现它无法运行 打印是代码被卡住的地方 import cv2 import multiprocessing dispW 640 dispH
  • SQL Server 2008 域更改

    在不久的将来 我的组织将不得不更改其中一台 SQL 服务器的计算机名称和 Windows 域 服务器运行SQL Server 2008企业版 操作系统为Windows Server 2008标准版 我找到了处理机器名称更改的良好参考资料 但
  • 致命错误:在第 146 行 ...\..\Abstract.php 中找不到类“Mage_Enterprise_Giftwrapping_Block_Adminhtml_Product_Helper_Form_Config”

    我正在将 magento 企业版迁移到社区版 我就快完成了 但后端几乎没有问题 如果我转到 管理产品 并单击任何产品 我会收到此错误 致命错误 在第 146 行 lib Varien Data Form Abstract php 中找不到类
  • Windows 中的 Visual Studio Code 命令无法正常工作

    我的问题是 在 Windows 上手动将 VS Code 命令行添加到 PATH 时 如何才能使其正常工作 在 Visual Studio Code 内部 我首先尝试使用复选框 安装到 PATH 来安装它 但是当我输入code在命令提示符中
  • 从文本中解析子字符串

    我正在编写一个宏 用于将 LDAP 格式的名称列表转换为 名字 姓氏 区域 对于那些不知道 LDAP 是什么样子的人 如下所示 CNN 约翰 史密斯 区域 OU 法律 DC 示例 DC 命令 在 Excel VBA 中 我似乎无法使用 st