首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Python-VBA编程500例-023(入门级)

  • 25-03-03 04:43
  • 4367
  • 8575
blog.csdn.net

目录

1、删除字符:

1-1、Python:

1-2、VBA:

2、相关文章:

Python算法之旅:http://iyenn.com/rec/1699032.html?spm=1001.2014.3001.5502

个人主页:非风V非雨-CSDN博客

欢迎志同道合者一起交流学习,我的QQ:94509325/微信

        删除字符(Delete Characters)在实际应用中有很多场景,常见的应用场景有:

1、文本编辑和校对:在编写文档、文章或任何形式的文本时,经常需要删除不必要的字符,如多余的空格、标点符号错误或拼写错误,这有助于提升文本的质量和可读性。

2、数据清洗:在数据处理和分析中,数据清洗是一个重要步骤。删除字符可能包括去除数据中的无效字符、特殊符号、空白字符或重复字符,以确保数据的准确性和一致性。

3、文件路径处理:在操作系统中,处理文件路径时可能需要删除某些字符,如非法字符或多余的分隔符,以确保文件路径的正确性和兼容性。

4、URL清理:在构建或处理URL时,删除不必要的字符可以确保URL的有效性和可读性。例如,删除URL中的空格、特殊字符或重复参数。

5、密码安全:在密码管理或安全策略中,有时需要删除密码中的特定字符,以满足安全要求或避免潜在的安全风险。

6、字符串匹配和搜索:在进行字符串匹配或搜索时,删除某些字符可以帮助忽略大小写、标点符号或其他差异,从而提高匹配的准确性。

7、代码优化:在编程中,删除不必要的字符(如注释、空格或换行符)可以优化代码的大小和可读性,特别是在资源受限的环境中。

8、自然语言处理:在自然语言处理任务中,如文本分类、情感分析等,删除停用词(如常见的介词、连词等)可以简化文本,提高处理效率。

        这些只是删除字符的一些常见应用场景,实际上,在日常生活和工作的各个领域,删除字符都有着广泛的应用。

1、删除字符:
1-1、Python:
  1. # 1.问题描述:
  2. # 给定源字符串source_str和目标字符串target_str,判断通过对源字符串source_str删除一些字符后,使得source_str = target_str.
  3. # 2.问题示例:
  4. # 输入source_str = "myelsa",target_str = "mys",通过对source_str进行字符删除处理,若能得到source_str = target_str,则返回True;反之,则返回False.
  5. # 3.代码实现:
  6. class Solution:
  7. def canGetString(self, source_str, target_str):
  8. """
  9. 判断字符串source_str中是否包含字符串target_str的所有字符,并且字符的相对顺序保持一致。
  10. source_str: 源字符串
  11. target_str: 目标字符串
  12. 返回值: 如果source_str包含target_str的所有字符且顺序一致则返回True,否则返回False
  13. """
  14. # 使用两个指针分别遍历source_str和target_str
  15. pointer_s = 0 # 指向source_str的指针
  16. pointer_t = 0 # 指向target_str的指针
  17. # 当target_str的指针没有遍历完时,持续遍历
  18. while pointer_t < len(target_str):
  19. # 在source_str中从当前指针位置开始查找target_str的当前字符
  20. while pointer_s < len(source_str) and source_str[pointer_s] != target_str[pointer_t]:
  21. pointer_s += 1
  22. # 如果source_str遍历完了还没有找到target_str的当前字符,则返回False
  23. if pointer_s == len(source_str):
  24. return False
  25. # 如果找到了,则移动source_str和target_str的指针继续查找下一个字符
  26. pointer_s += 1
  27. pointer_t += 1
  28. # 如果target_str的指针遍历完了,说明source_str包含target_str的所有字符且顺序一致
  29. return True
  30. # 主函数
  31. if __name__ == '__main__':
  32. # 给定源字符串source_str和目标字符串target_str
  33. source_str = "myelsa"
  34. target_str = "mys"
  35. # 实例化Solution类
  36. solution = Solution()
  37. # 打印源字符串source_str和目标字符串target_str
  38. print("源字符串和目标字符串分别为:", source_str + " 和 " + target_str)
  39. # 调用canGetString函数,输出最终结果
  40. print("能否实现:", solution.canGetString(source_str, target_str))
  41. # 4.运行结果
  42. # 源字符串和目标字符串分别为: myelsa 和 mys
  43. # 能否实现: True
1-2、VBA:
  1. Rem 自定义函数,功能:判断源字符串是否包含目标字符串中的连续字符
  2. Function CanGetString(sourceStr As String, targetStr As String) As Boolean
  3. Dim pointerS As Integer ' 源字符串的模拟指针
  4. Dim pointerT As Integer ' 目标字符串的模拟指针
  5. pointerS = 1 ' VBA中字符串索引从1开始
  6. pointerT = 1
  7. ' 当目标字符串的模拟指针未超过其长度时循环
  8. While pointerT <= Len(targetStr)
  9. ' 在源字符串中查找与目标字符串当前字符匹配的字符
  10. While pointerS <= Len(sourceStr) And mid(sourceStr, pointerS, 1) <> mid(targetStr, pointerT, 1)
  11. pointerS = pointerS + 1 ' 如果不匹配,移动源字符串模拟指针
  12. Wend
  13. ' 如果源字符串模拟指针超过其长度,说明无法找到匹配的目标字符串,返回False
  14. If pointerS > Len(sourceStr) Then
  15. CanGetString = False
  16. Exit Function
  17. End If
  18. ' 移动源字符串和目标字符串的模拟指针,继续查找下一个字符
  19. pointerS = pointerS + 1
  20. pointerT = pointerT + 1
  21. Wend
  22. ' 如果循环正常结束,说明目标字符串的所有字符都在源字符串中按顺序出现,返回True
  23. CanGetString = True
  24. End Function
  25. Rem 执行程序,功能:调用自定义函数CanGetString,在立即窗口中输出结果
  26. Sub TestRun()
  27. Dim sourceStr As String ' 源字符串
  28. Dim targetStr As String ' 目标字符串
  29. Dim result As Boolean ' 存储函数执行结果
  30. sourceStr = "myelsa" ' 设置源字符串
  31. targetStr = "mys" ' 设置目标字符串
  32. ' 调用CanGetString函数并获取结果
  33. result = CanGetString(sourceStr, targetStr)
  34. ' 在VBA的立即窗口中输出结果
  35. Debug.Print "源字符串和目标字符串分别为:" & sourceStr & " 和 " & targetStr
  36. Debug.Print "能否实现: " & IIf(result, "True", "False") ' 使用IIf函数根据结果输出字符串
  37. End Sub
  38. '结果输出:
  39. '源字符串和目标字符串分别为:myelsa 和 mys
  40. '能否实现: True

注意:1-2中的代码需粘贴到你的VBA编辑器中,按F5执行TestRun程序,在立即窗口中输出结果。

2、相关文章:

2-1、Python-VBA编程500例-021(入门级)

2-2、Python-VBA编程500例-022(入门级) 

2-3、Python-VBA编程500例-024(入门级)

2-4、Python-VBA编程500例-025(入门级) 

Python算法之旅:http://iyenn.com/rec/1699032.html?spm=1001.2014.3001.5502
个人主页:非风V非雨-CSDN博客
欢迎志同道合者一起交流学习,我的QQ:94509325/微信:

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览60120 人正在系统学习中
遨游码海,我心飞扬
微信名片
注:本文转载自blog.csdn.net的神奇夜光杯的文章"https://myelsa1024.blog.csdn.net/article/details/137117295"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top