把#define宏转换成指定格式
之前在弄一个东西的,有一大堆的宏,需要把它转换成其它的形式。遇到这种大批量的东西,我特别没有耐心去一个一个的弄,于是写了一段代码。
估计大家平常比较难用得上,不过可以平常相似的情况用来参考。
SortedDictionary<int, string> enumMap = new SortedDictionary<int, string>();
string fileName = "tmp.txt";
File.WriteAllText(fileName, tbSource.Text, Encoding.Default);
string[] items = File.ReadAllLines(fileName, Encoding.Default);
Regex reg = new Regex(@"#define\s+(\S+)\s+(\d+)");
foreach(string item in items)
{
Match match = reg.Match(item);
string value = match.Groups[].Value;
int key = Convert.ToInt32(match.Groups[].Value);
if(enumMap.ContainsKey(key))
{
Debug.WriteLine(item);
Debug.Assert(false);
}
else
{
enumMap.Add(key, value);
}
}
string result = "";
foreach(var item in enumMap)
{
result += string.Format("{0} = {1},\n", item.Value, item.Key);
}
tbTarget.Text = result;
把#define宏转换成指定格式的更多相关文章
- javascript时间戳转换成指定格式的日期
//时间戳转换成指定格式的日期DateTool.IntDatetimeTo = function(time, format){ var testDate = new Date(time); ...
- jquery将日期转换成指定格式的字符串
引用jquery文件,如<script type="text/javascript" src="jquery-1.8.3.min.js"></ ...
- [转] 将DOS格式文本文件转换成UNIX格式
点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...
- Python:将utf-8格式的文件转换成gbk格式的文件
需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.ope ...
- .net amr格式文件转换成mp3格式文件的方法
前言:winform端对于音频文件的格式多有限制,大多数不支持amr格式的文件的播放.但是,手机端传过来的音频文件大多数是amr格式的文件,所以,要想在winform客户端支持音频文件的播放,可以通过 ...
- <form> 标签 // HTML 表单 // from 表单转换成json 格式
<form> 标签 // HTML 表单 // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...
- 泛型(二)封装工具类CommonUtils-把一个Map转换成指定类型的javabean对象
1.commons-beanutils的使用 commons-beanutils-1.9.3.jar 依赖 commons-logging-1.2.jar 代码1: String className ...
- dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式
今天做题的时候,出现了个很冷门的: 查找子目录src下所有后缀为.txt的文件执行dos2unix命令,把文件从Dos格式转换为Linux格式,正确的命令是:find src "*.txt& ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
随机推荐
- JM-2 jQuery Mobile的使用(多看学习视频)
JM-2 jQuery Mobile的使用(多看学习视频) 一.总结 一句话总结:前端框架的使用全都一个样,本质都是css和js,引入文件也是这些.使用都是看手册,超简单. 1.jQuery Mobi ...
- 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移
http://blog.csdn.net/dba_waterbin/article/details/8996872 ㈠ Redis 与 MySQL 的耦合性 在业务架构早期.我们 ...
- Expression Blend 的点滴(3)--Templating的妙用,制作自己的ScrollBar控件
原文:Expression Blend 的点滴(3)--Templating的妙用,制作自己的ScrollBar控件 在Blend中,有一个功能,Make into control---通过它可以方便 ...
- 【t101】小明搬家
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都 ...
- ueditor在表单中的提交
近期一直在找一个比較好点的WEB文本编辑器.发现ueditor还是不错的.可是在表单提交数据后有一些问题.由于他不像曾经的版本号一样提供一个虚拟的文本框去提交数据,所以网上搜索的结果都不能用了.依据u ...
- python request post
import requests import json class BaiduTranslateSpider: def __init__(self, kw): self.url = "htt ...
- Ubuntu下一个python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬行要求python包裹
后果<信息检索>第二project,微博具有抓取数据,再处理.师兄给了代码.让慢慢爬.可是在ubuntu下.少了非常多python软件包.须要安装. 1.首先执行时.说少了python.B ...
- 【心情】NOIP2014记忆
无意中又翻到这张表格. 现在看起来真的感慨万分. 如果当时把link多想想,也许就能拿满分了. 如果当时的bird看出来那个傻逼背包模型就好了. 如果equation当时我想到大质数取模就好了; 如果 ...
- Configuring a remote m-phy
An interface for low power, high bandwidth communications between units in a device in provided here ...
- MyEclipse各种版本号注冊码
一:MyEclipse_6.0.1GA_E3.3.1_FullStackInstaller注冊码 Subscriber:javp Subscription Code:wLR7ZL-655551-685 ...