string.Split 忽略分隔符之间的空值

2024-01-09

我正在尝试使用 Streamreader 和 Streamwriter 将一些数据转换为 sql 语句。

我的问题是,当我分割其中两个分隔符之间什么都没有,甚至没有空格的行时,它们会被忽略,并且出现 IndexOutOfRange 错误

因为我的 temparray 只到 temparray[3] ,但它应该像 temparray[6] ..

如何拆分和使用 Null 值或用简单的字符替换这些 Null 值,以便在创建 sql 语句时不会出现 IndexOutOfRange 错误?

foreach (string a in values)
{
    int temp = 1;
    String[] temparray = a.Split(';');
    streamWriter.WriteLine("Insert into table Firma values({0},'{1}','{2}')", temp, temparray[1], temparray[4]);
    temp++;
}

首先,这是自找麻烦(SQL注入 https://en.wikipedia.org/wiki/SQL_injection)。你应该至少转义从字符串中解析的值。

你似乎错了,因为 String.Split 正是你想要的默认情况下: "x;y;;z".Split(';')返回一个四元素数组{"x", "y", "", "z"}。您可以通过使用来实现所描述的行为StringSplitOptions.RemoveEmptyEntries: "x;y;;z".Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries)返回一个three-元素数组{"x", "y", "z"}。正如你所说,这就是你不想要的。

无论哪种方式,"Überarbeitung der SAV Seite;b.i.b.;;;;PB;".Split(';')在这里为我返回一个七元素数组,因此请检查您的输入和实现......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

string.Split 忽略分隔符之间的空值 的相关文章

随机推荐

  • java内存泄漏,visualvm显示错误数据

    我有一个java应用程序正在运行 几个小时后它就填满了内存 我尝试使用 VisualVM 检测内存泄漏 但它显示错误的数据 不知道这是如何发生的 在屏幕截图中 您可以看到任务管理器显示内存使用量为 700Mb 而 VisualVM 显示内存
  • 如何在 Jaspersoft iReport Designer 4.7 中添加第二页

    您好 我对使用 Jaspersoft iReport Designer 完全陌生 我想要一份两页的报告 我使用的版本是4 7 0 我已经有一页包含信息 但我不知道如何添加第二页 任何帮助将不胜感激 感谢您的时间 您可以通过几种方式来完成此任
  • 定期将Access数据库复制到SQL Server

    我有一个 access 2003 数据库 其中包含我的所有业务数据 该访问数据库在白天每隔几个小时更新一次 我们目前正在编写一个网站 需要使用访问数据库中的数据 该网站 暂时 将有only只读功能 这意味着只需要一种数据传输方式 Acces
  • Linux下的MASM?

    有没有我用的方法MASM http en wikipedia org wiki Microsoft Macro Assembler在Linux下 即使严格的 NASM 在 Linux 下非常流行 它在代码上的某些指令风格仍然有所不同 维基说
  • 如何使用 SQLalchemy 和 Alembic 自动初始化数据库?

    目前 我运行 flask db init flask db migrate m initialization flask db upgrade 如果数据库不存在 我想在 Python 中运行它 例如就像是 app create db 这样我
  • 将从字符串转换的浮点值与文字进行比较

    这不是著名的复制品浮点数学有问题吗 https stackoverflow com questions 588004 is floating point math broken 即使乍一看很像 我正在读一本double从文本文件中使用fsc
  • 在 WebSocket 中实现 permessage-deflate

    我在理解和实现 WebSockets 中的 permessage deflate 扩展时遇到问题 到目前为止 我已经在握手代码中添加了 Sec WebSocket Extensions permessage deflate 似乎一切正常 但
  • R Caret 的 rfe [{ 中的错误:任务 1 失败 - “rfe 期望 184 个重要性值,但只有 2 个”]

    我正在使用 Caret 的 rfe 进行回归应用程序 我的数据 在data table 有 176 个预测变量 包括 49 个因子预测变量 当我运行该函数时 出现以下错误 Error in task 1 failed rfe is expe
  • 删除 lxml 中的所有命名空间?

    我正在使用 google 的一些数据 API 使用 python 中的 lxml 库 命名空间在这里是一个很大的麻烦 对于我正在做的很多工作 主要是 xpath 的东西 最好直接忽略它们 有没有一种简单的方法可以忽略 python lxml
  • SharePoint:如何以编程方式将项目添加到自定义列表实例

    我真的在寻找一个小代码片段 我有一个 C 控制台应用程序 我将使用它以某种方式将列表项添加到我的自定义列表中 我也创建了一个自定义内容类型 因此不确定我是否也需要从此内容类型创建 C 类 也许不是 我认为这两篇博客文章应该可以帮助您解决问题
  • 如何修复错误“无法更新。数据库或对象是只读的。” Excel 数据库自动化无处不在

    我正在访问存储在共享驱动器上的 Excel 文件 已经有几个月没有错误了 突然 我们遇到了这样一个问题 Cannot update Database or object is read only 我原来的连接字符串如下所示 Provider
  • 如何检测是否存在重复模式

    我的问题不是特定于语言的 我可能会在 C 或 Python 中实现它 除非某种语言的特定功能可以帮助我获得我想要的东西 是否有任何人都知道的某种算法可以帮助我确定数字列表是否包含重复模式 假设我有几个数字列表 12 4 5 7 1 2 1
  • 更新 SQL Server 中的同一个表

    我试图从相同的表数据更新相同的表数据 我的SP如下图 UPDATE T1 SET T1 Name T2 Name T1 Age T2 Age T1 Subject T2 Subject FROM Student T1 Student T2
  • NavigationView 项目上的波纹效果

    我的 DrawerLayout 中有 NavigationView 假设它有简单的菜单 menu menu
  • 对于 Decimal 来说值太大或太小

    我有以下代码 double shortfall GetSomeNumber 3 3588548831176006E 29 if shortfall gt 0 returnValue Convert ToDecimal shortfall 这
  • 在 Hive 中将字符串转换为 array

    我有一个用字符串表示的整数数组 例如 1 2 2 3 Hive表中的字段类型是数组整数 我想知道是否有任何Hive内置UDF可以将上述字符串转换为数组整数 Thanks tl dr我不知道有哪个 Hive UDF 可以为您执行此操作 并且您
  • 如何在android中将图像上传到Parse?

    我已经能够使用相机拍照或从图库中拍摄照片并使用此代码在 ImageView 中显示它 我现在需要做的是使用该图片并将其上传到 Parse 我一直在谷歌上到处搜索来做到这一点 但我还没有找到正确的方法 有人可以帮我解决这个问题吗 是否可以从
  • 刚刚在我的计算机上创建了一个 Git 存储库。如何将 repo 放入 GitHub?

    我是 Git 新手 我刚刚在我的计算机上创建了一个 Git 存储库 现在我想将该存储库连接到网站 GitHub 并将我的代码推送到那里 我该怎么做呢 我有点熟悉 我必须以某种方式将在线代码设置为我的电脑版本的上游或下游 然后对上游或下游在线
  • Nodejs的io中io.sockets.adapter.rooms在哪里?

    https stackoverflow com a 6727354 462608 https stackoverflow com a 6727354 462608 简短的回答 io sockets adapter rooms 我分析了io
  • string.Split 忽略分隔符之间的空值

    我正在尝试使用 Streamreader 和 Streamwriter 将一些数据转换为 sql 语句 我的问题是 当我分割其中两个分隔符之间什么都没有 甚至没有空格的行时 它们会被忽略 并且出现 IndexOutOfRange 错误 因为