You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

C#中如何移除变量中的双引号?附相关MVC代码示例

在C#中移除变量中的双引号的几种方法

针对你的需求,这里有几个实用的方法可以移除字符串变量里的双引号,结合你给出的MVC代码场景,我来具体说明下:

1. 移除所有双引号:使用string.Replace()

这是最常用的方法,可以把字符串中所有的双引号替换为空字符串,适合需要清除所有双引号的场景:

string originalStr = "这是\"带双引号\"的字符串";
string cleanedStr = originalStr.Replace("\"", "");
// 执行后结果:"这是带双引号的字符串"

结合你的MVC代码,如果你是要处理从数据库读取的字段,可以在读取SqlDataReader的时候直接做处理:

public JsonResult GetRemix() 
{ 
    List<Intractive_ReMixList_ForScreenShot> employee = new List<Intractive_ReMixList_ForScreenShot>(); 
    // 这里建议改用参数化查询,避免SQL注入风险!
    string query = "Select * From Intractive_ReMixList_ForScreenShot where LoginDetailsRowId=@LoginId"; 
    string connectionString = @"Data Source=ITALIAGRP_DATA\DATASERVER;Initial Catalog=StorageManagerNew;User ID=internal;Password=c@rlos150915; Timeout=30000";

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        using (SqlCommand cmd = new SqlCommand(query, connection))
        {
            // 添加参数,避免SQL注入
            cmd.Parameters.AddWithValue("@LoginId", 80136);
            
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var item = new Intractive_ReMixList_ForScreenShot();
                    // 替换字段中的所有双引号,同时处理空值避免异常
                    item.TargetProperty = reader["TargetColumn"].ToString()?.Replace("\"", "") ?? string.Empty;
                    // 其他属性的赋值逻辑...
                    employee.Add(item);
                }
            }
        }
    }

    return Json(employee, JsonRequestBehavior.AllowGet);
}

小提醒:你的原始SQL直接拼接了条件值,存在SQL注入的安全风险,上面的代码已经改成了参数化查询的写法,建议日常开发都用这种方式哦。

2. 仅移除首尾的双引号:使用string.Trim()

如果你的字符串只是首尾带有双引号(比如"仅首尾有双引号"),而中间的双引号需要保留,那么可以用Trim('"')

string originalStr = "\"仅首尾有双引号\"";
string cleanedStr = originalStr.Trim('"');
// 执行后结果:"仅首尾有双引号"

在你的代码中,只需要把上面的Replace换成Trim('"')就能实现这个效果。

3. 安全处理空值情况

如果数据库字段可能为DBNull或者null,一定要加空值判断,避免触发NullReferenceException,比如:

int columnIndex = reader.GetOrdinal("TargetColumn");
item.TargetProperty = reader.IsDBNull(columnIndex) 
    ? string.Empty 
    : reader[columnIndex].ToString().Replace("\"", "");

这样就能安全处理所有边界情况了。

内容的提问来源于stack exchange,提问作者Rani Thakur

火山引擎 最新活动