vb.net 将一个字符串拆分为2个不同的子字符串

发布于 2024-11-28 20:20:06 字数 288 浏览 1 评论 0原文

我正在尝试将一个字符串分成 2 个子字符串。第一个包含前 236 个(0 到 235)个字符,第二个包含从 237 到字符串末尾的字符。

firststr = str.Substring(0, 235)
secondstr = str.Substring(235, strLength)  'strLength is the total length of the string

strLength 正在生成错误:索引和长度必须引用字符串中的位置。 参数名称:长度

有帮助吗?

I'm trying to split a string into 2 subs. The first contains the first 236 (0 to 235) chars and the second one from 237 to the end of the string.

firststr = str.Substring(0, 235)
secondstr = str.Substring(235, strLength)  'strLength is the total length of the string

strLength is generating error : Index and length must refer to a location within the string.
Parameter name: length

Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

风铃鹿 2024-12-05 20:20:06

您需要这样的内容:

secondstr = str.Substring(235, strLength - 235)

因为 strLength 是整个字符串的长度,并且您从位置 235 开始,所以您将超过字符串的末尾。

You need something like this:

secondstr = str.Substring(235, strLength - 235)

Because strLength is the length of the entire string, and you're starting at position 235, you're going past the end of the string.

双马尾 2024-12-05 20:20:06

第二个参数是您需要多少个字符,而不是最终位置是什么。尝试类似的方法:
Secondstr = str.Substring(235, strLength-235) (也许你还需要-1)

The 2nd argument is how many charaters you need and not what the end position is. Try something like:
secondstr = str.Substring(235, strLength-235) (perhaps you also need -1)

眉目亦如画i 2024-12-05 20:20:06

通常,第二个参数的 data 是您想要的子字符串的长度,在本例中为 strLength-236。我不知道 vb.net,但在 C# 中,使用子字符串时不需要为 secondstr 指定第二个变量 strLength,因为默认情况下会转到字符串的末尾。

[编辑] - 已修复

Normally data the second argument would be the length of the substring you want, in this case strLength-236. I don't know vb.net but in C# you do not need to specify the second variable strLength for secondstr when using substring because the default goes to the end of the string.

[edit] - fixed

紫南 2024-12-05 20:20:06

如果您只想转到字符串的末尾,那么在使用 Substring 方法时可以省略长度参数。默认是转到字符串的末尾。

secondstr = str.Substring(236)

将为您完成工作。

If you just want to go to the end of a string then you can leave off the length parameter when using the Substring method. The default is to go to the end of the string.

secondstr = str.Substring(236)

will get the job done for you.

樱娆 2024-12-05 20:20:06

据我所知,您的变量 strLength 的值超出了字符串 str 的边界。

From what I see, your variable strLength has a value that's outside the boundaries of the string str.

我ぃ本無心為│何有愛 2024-12-05 20:20:06

我注意到没有人发现您的代码中所描述的其他错误。

Substring 的第二个参数是返回的长度,因此 firstStr 包含与 Left(str, 235) 相同的内容,即它包含 235 个字符你已经写了它,而不是236。

为了完整起见,这里有一个针对你的查询的VB解决方案:

firststr = Left(str, 236)
secondstr = Mid(str, 237)

I note noone picked up the other error in your code as described.

The second argument to Substring is the length returned, so firstStr contains the same as Left(str, 235), i.e. it contains 235 characters as you've written it, not 236.

For completeness, here's a VB solution to your query:

firststr = Left(str, 236)
secondstr = Mid(str, 237)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文