解决从网页复制代码带有多余行号问题

2024-03-23 15:20

本文主要是介绍解决从网页复制代码带有多余行号问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们在 Web 上找到一份很好的教程时,往往喜欢复制或者保存他人提供的代码。但是,有些网页带有自动编号功能,这会使得复制的文本处理起来比较麻烦。

例如下面的这段网页代码:

网页嵌入代码样例

 我们观察到每一行左侧都有行号的编号,我们在复制到 txt 中时候,会出现多余行号和前缀空格。

标题

我们不需要这样,但是手动去除会很麻烦且容易出错。

那我们该怎么办呢?

这时候,我想到了写一个脚本去自动化处理。下面是自动化处理的 python 代码:

def remove_line_numbers_and_prefix_spaces_from_java_file(filename):try:with open(filename, 'r') as file:lines = file.readlines()  # 读取文件中的所有行except FileNotFoundError:print(f"Error: File '{filename}' not found.")return Nonecleaned_lines = []for line in lines:# 如果行只包含数字和空格,则直接跳过if line.strip().isdigit() or line.strip() == "":cleaned_lines.append('\n')continue# 去除行号和前缀空格,保留正确的缩进cleaned_line = line.lstrip(' ').split(' ', 1)[-1]  # 去除行首空格并从第一个空格开始切割cleaned_lines.append(cleaned_line)cleaned_code = ''.join(cleaned_lines)  # 将处理后的行重新组合成代码return cleaned_code# 用户输入要处理的文件名和新文件名
filename = input("Enter the filename to process: ")
output_filename = input("Enter the output filename to write cleaned code: ")cleaned_code = remove_line_numbers_and_prefix_spaces_from_java_file(filename)
if cleaned_code:print("Cleaned code:")print(cleaned_code)# 将处理后的代码写入新文件try:with open(output_filename, 'w') as output_file:output_file.write(cleaned_code)print(f"Cleaned code written to '{output_filename}'.")except IOError:print(f"Error writing to file '{output_filename}'.")

运行这个脚本并输入要处理的文件以及输出文件路径。你将得到一份干净的代码。

目前此程序适用于处理标准的 Java 代码,是否有特殊情况导致出错的我暂时还没遇到。

程序执行效果

 我们看一下生成的效果,非常棒,我也很喜欢。

清洁后的代码文件

本文发布于:2024.03.23.

这篇关于解决从网页复制代码带有多余行号问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838738

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息