C#用一个循环[等效]取出字符串中的数字
来源:互联网 发布:淘宝虚拟物品退款规则 编辑:程序博客网 时间:2024/05/03 19:19
public string 内容等效(string 转换内容, string 指定内容)
{
string Sz = "", Bj = "0123456789";//[等效]取出字符串中的数字
for (int Qs = 0; Qs < DD_BM.Trim().Length; Qs++)
{
string Zf = DD_BM.Trim().Substring(Qs, 1); //依循环取其中一个字符
if (Bj.IndexOf(Zf) >= 0)//比较
{ Sz += Bj.IndexOf(Zf); }//等效
}/*这里只取出指定的字符过滤掉与指定字符无关的字符*/
return Sz;
}
DD_BM:输入字符串。
☆☆☆利用以上原理可以变形出一些意想不到的效果,就好像是变形金钢一样。☆☆☆
下面再来看利用等效原理变形例子:
private string Zh_Zwz(string DD_BM, string BiaoJi, bool Zs)//[等效]转换中文/数值
{
string Sz = "";
try
{
for (int Qs = 0; Qs < DD_BM.Length; Qs++)
{
if (Bj.IndexOf(DD_BM.Substring(Qs, 1)) >= 0 && !Zs)//比较
{ Sz += Zz.Substring(Bj.IndexOf(DD_BM.Substring(Qs, 1)), 1); } //等效中文
if (Zz.IndexOf(DD_BM.Substring(Qs, 1)) >= 0 && Zs)
{ Sz += Bj.Substring(Zz.IndexOf(DD_BM.Substring(Qs, 1)), 1); }//等效数字
}
}/*Bj数字字符串,Zz中文字符串,这里应用对应等效,用这个对应等效原理可以取代switch ()那个写一串的代码,举例如下*/
catch (Exception)
{ }
return Sz;
}
public string 对应等效(string 等效内容, string 对应内容, string 等效对应)
{
try
{
for (int 对应 = 0; 对应 < 等效内容.Length; 对应++)
{
if (等效内容.IndexOf(等效对应.Substring(对应, 1)) >= 0) 内容 +=对应内容([等效对应.Substring(对应, 1));//我的团队成员进来进来
}/*即有过滤又有等效*/
}
catch (Exception Ts)
{ 内容 = "对应等效:非法->" + Ts.ToString(); }
return 内容;
}
调用:int 精度数 = int.Parse(对应等效("五位精度", "0123456789", "〇一二三四五六七八九"));
调用:int 精度数 = int.Parse(内容等效("5位精度", "0123456789"));
上面等效应用相当于如下的语句:
private int JinDu(string XiaoShu)//精度
{
int Qw = 0;
switch (XiaoShu)
{
case "一位精度": Qw = 1; break;//滚蛋
case "二位精度": Qw = 2; break;//滚蛋
case "三位精度": Qw = 3; break;//滚蛋
case "四位精度": Qw = 4; break;
case "五位精度": Qw = 5; break;
case "六位精度": Qw = 6; break;
case "七位精度": Qw = 7; break;
case "八位精度": Qw = 8; break;
case "九位精度": Qw = 9; break;
}
return Qw;
}
透过以上例子可以看到等效原理灵活变形,等效更多应用例子比如:单词等效......就不赘举了。
-----------------------------------------------
起先以为写这个很为难,起码需要两个循环才可以,后经过净思才发现这种妙用,妙用的关键就在等效这个效果来实现。
网络上的资料也找过不少,方法也不少,有的不是C#语言,有的用钱买的控件,看太多了眼累,还是自己想,自己写好了。
妙思写出后发现原来这么简单。
-----------------------------------------------
string 源 = ")((){[]}{[()]}({}[])({)({)}({[)}][[", 比 = "() {} []", 汇 = "";foreach (var 元素 in 源) if (比.Contains(元素.ToString())) 汇 += 元素.ToString();/*新等效取字*/比.Split(@"|/\".ToArray())/*可以使用连续字符串*/
string 源 = ")((){[]}{[()]}({}[])({)({)}({[)}][[", 比 = "() {} []", 汇 = "", 示 = ""; /*[{]}这些位置会都报错这种成双出现其一无法断定是[]或是{}为正确,其二这种成双出现毫无实际意义*/ List<int> 整 = new List<int>(), 位 = new List<int>(); int 记 = 0; foreach (var 元素 in 源) { if (比.Contains(元素.ToString())) { 汇 += 元素.ToString();/*新等效取字*/ 位.Add(记); } ++记; } for (int 数 = 0, 量 = 汇.Length; 数 != 量; 数++) { foreach (var 元素 in 比.Split(@" |/\".ToArray())) 汇 = 汇.Replace(元素, "**"); 记 = 0; foreach (var 元素 in 汇) { if (元素.ToString().Contains("*")) 整.Add(位[记]); ++记; } 位 = 位.Except(整).ToList(); 汇 = 汇.Replace("**", ""); } 记 = 0; foreach (var 元素 in 汇) { 示 += "发现位置" + 位[记].ToString(":00“") + 元素.ToString() + "”\n\r"; ++记; } 示 += "违成双出现错误!";
static string 字符串影像(string 输入, string 匹配, int 数量) { string 输出 = ""; int 计数 = 0; foreach (char a in 输入) { string b = a.ToString(); if (匹配.Contains(b)) { 输出 += b; if (数量 <= ++计数) break;/*这里还写了一个数量控制*/ } } return 输出; } string 测试字符串 = "这是一组测试字符串B数字的值是800,C数字它是500,A数字是1200", 匹配=""; 匹配 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ是"; string a1 = 字符串影像(测试字符串.Split(',')[0], 匹配, 1) ; 匹配 = "0123456789"; a1 += 字符串影像(测试字符串.Split(',')[0], 匹配, 10);匹配 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ是,";/*最灵活提取任意所需字符串,就好像是字符串过滤一样.*/a = 字符串影像(测试字符串, 匹配, 100);
- C#用一个循环[等效]取出字符串中的数字
- C#取出字符串中的数字或字母
- 取出字符串中的数字
- iOS---取出字符串中的数字
- iOS---取出字符串中的数字
- iOS---取出字符串中的数字
- 取出一个字符串中的所有数字组成一个新的字符串
- 取出字符串中的数字----正则表达式
- 取出字符串中的汉字、字母或是数字
- oracle中取出字符串中的数字
- 取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出
- 82.取出字符串中的数字字符组成新的字符串
- C#去掉JSON字符串中的最后一个数字
- 取出字符串中的数字求和(c语言)
- c# 获取字符串中的数字
- c# 获取字符串中的数字
- C# 获取字符串中的数字
- c# 获取字符串中的数字
- openGL纹理
- 市场里的企业:一个人力资本与非人力资本的特别合约
- 经验的优势,多还是少?
- SQL注入命令大全
- preferences.plist CMWAP 上网
- C#用一个循环[等效]取出字符串中的数字
- 云计算初体验
- TSP问题的遗传算法解法
- LINUX/UNIX常用信息查看
- pku 1141 Brackets Sequence(DP)
- 常用Linux语句备份
- mfc程序遇到的一些错误
- 从VC6到VC9移植代码问题总结收藏
- 制作Dos启动盘