c# sring \\W1.235; 先判断是否包含\\W 如果包含 获取\\W和;之间的数

c# sring \W1.235; 先判断是否包含\W 如果包含 获取\W和;之间的数

在C#中,你可以使用正则表达式来检查字符串中是否包含\W,并提取其中的数值。以下是一个简单的示例代码:

csharp 复制代码
using System;
using System.Text.RegularExpressions;
 
class Program
{
    static void Main()
    {
        string input = "\\W1.235;";
        string pattern = @"\\W(\d+(\.\d+)?);";
 
        Match match = Regex.Match(input, pattern);
        if (match.Success)
        {
            string number = match.Groups[1].Value;
            Console.WriteLine("提取的数为: " + number);
        }
        else
        {
            Console.WriteLine("字符串中不包含\\W和;之间的数。");
        }
    }
}

这段代码会检查input字符串是否包含模式\W(\d+(.\d+)?);,其中\W是一个非单词字符,(\d+(.\d+)?)是一个捕获组,用于匹配一个或多个数字,可选地后跟一个点和一个或多个数字。如果匹配成功,将输出提取的数。如果不包含,则输出相应的信息。

c# sring 1111\W1.235; 先判断是否包含\W 如果包含 获取\W和;之间的数 并将\W1.235;删除

在C#中,处理字符串时经常用到String类提供的方法,如Contains、IndexOf、Substring和Replace等。对于您的需求,首先判断字符串是否包含"\W",如果包含,再获取"\W"和";"之间的数,并删除"\W1.235;"这部分,可以通过以下步骤实现:

使用Contains方法判断字符串是否包含"\W"。

使用IndexOf方法找到"\W"和";"的位置。

使用Substring方法获取"\W"和";"之间的数。

使用Replace方法删除"\W1.235;"这部分。

以下是实现这一功能的示例代码:

csharp

csharp 复制代码
using System;

class Program
{
    static void Main()
    {
        string input = "1111\\W1.235;";
        if (input.Contains("\\W"))
        {
            int startIndex = input.IndexOf("\\W") + 2; // "\\W"长度为2,所以加2
            int endIndex = input.IndexOf(";");
            string number = input.Substring(startIndex, endIndex - startIndex);
            Console.WriteLine("找到的数是:" + number);

            // 删除"\\W1.235;"
            string result = input.Replace("\\W" + number + ";", "");
            Console.WriteLine("删除后的字符串是:" + result);
        }
        else
        {
            Console.WriteLine("字符串不包含'\\W'。");
        }
    }
}

这段代码首先检查字符串是否包含"\W",如果包含,它会找到"\W"和";"之间的数字,并删除"\W1.235;"这部分,最后输出处理后的结果。

相关推荐
哪 吒5 分钟前
华为OD机试 - 云服务安全策略最优选择 - 深度优先搜索DFS(Java 新系统 200分)
java·华为od·深度优先
拒绝内耗。7 分钟前
程序员学架构(一):一张图看懂 Java 后端架构:一个请求怎样从手机到数据库?
java·智能手机·架构
棣廷8 分钟前
初识Python面向对象
java·开发语言
数据库小学妹12 分钟前
MySQL redo刷盘实测:innodb_flush_log_at_trx_commit与故障矩阵
运维·数据库·mysql
用户31268748772013 分钟前
ThreadLocal 到底会不会内存泄漏?源码级拆解 + 线程池陷阱
java
ByteRock15 分钟前
ClickHouse 表的生老“并”死:表实例、表元数据与并发 DDL
数据库
珍珠先生17 分钟前
P11 · MySQL 驱动版本过旧:Client does not support authentication protocol
java
~木雨25 分钟前
Java 并发编程架构全景:并发层的五域设计 —— 线程模型、线程池隔离、并发安全到问题治理(全体系汇总)
java·安全·架构·线程池·并发编程·高并发架构
哈__27 分钟前
破除数据库排障碎片化:一体化全链路故障根因诊断实践
数据库
极小狐43 分钟前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化