c语言数组截取,C# 字符串按数组截取方法(C/S)

c语言数组截取,C# 字符串按数组截取方法(C/S)privatevoidbutton1_Click(objectsender,EventArgse){string[]aa=this.GetYouhouComment(“aaa王ああああああddddd”,4);}///元文字列///桁数///取得する結果privatestring[]GetYouhouComment(stringPValue,intPLenth)…

大家好,又见面了,我是你们的朋友全栈君。

private void button1_Click(object sender, EventArgs e) {

string[] aa = this.GetYouhouComment(“aaa王ああああああddddd”, 4);

}

/// 元文字列

/// 桁数

/// 取得する結果

private string[] GetYouhouComment(string PValue, int PLenth) {

string[] result = new string[5];

string shiteiResult = PValue.Replace(“,”, string.Empty);

// 文字列へ内容を転換処理を行う。

int byteCount = Encoding.GetEncoding(932).GetByteCount(shiteiResult);

int j = 0;

// 指定する桁数>=文字列の桁数の場合

if (PLenth >= byteCount) {

shiteiResult = string.Empty.PadRight(PLenth – byteCount) + shiteiResult;

result[j] = shiteiResult;

// 以外の場合

} else {

string strValue = string.Empty;

string strCompare = string.Empty;

// 指定する桁数な文字列を取得する。

for (int i = 0; i < shiteiResult.Length; i++) {

strCompare = shiteiResult.Substring(i, 1);

// GetEncodingメソッドの引数’932’がSJISを示します。

if (Encoding.GetEncoding(932).GetByteCount(strValue) +

Encoding.GetEncoding(932).GetByteCount(strCompare) > PLenth) {

if (j < 5) {

result[j] = strValue;

strValue = strCompare;

j = j + 1;

} else {

break;

}

} else {

strValue = strValue + shiteiResult.Substring(i, 1);

if (i == shiteiResult.Length – 1) {

result[j] = strValue;

}

}

}

}

return result;         }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132229.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • sublime text激活码(JetBrains全家桶)[通俗易懂]

    (sublime text激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1S…

  • 常量字符串过长的解决办法_未受控的格式化字符串

    常量字符串过长的解决办法_未受控的格式化字符串如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

  • k8s–证书签发

    k8s–证书签发1.准备签发证书环境运维主机hdss-1-200.host.com上:2.安装CFSSL证书签发工具CFSSL:R1.2cfssl下载地址https://pkg.cfssl.org/R1.2/cfssl_linux-amd64cfssl-json下载地址https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64cfssl-certinfo下载地址https://pkg.cfssl.org/R1.2/cfssl-certinfo_li…

  • DirectX修复工具常见问题解答

    DirectX修复工具常见问题解答经常有人在网上发帖询问DirectX修复工具的一些问题,但是有些问题的回答并不够准确。因此作者在这里把一些常见的问题列出,供大家参考。问题1:XP系统上运行软件时出现0xc0000135的错误,怎么回事?答:WindowsXPSP3系统用户需先安装Microsoft.NETFramework2.0或更高版本才可运行本程序,详情请见程序文件夹中的“致WindowsXP用户

  • nextline函数_Java 中nextLine()方法没有执行直接跳过解决办法[通俗易懂]

    nextline函数_Java 中nextLine()方法没有执行直接跳过解决办法[通俗易懂]使用Java的Scanner类nextLne()方法从显示器输入数据时,nextInt()后面的nextLine()直接跳过没有执行;截图:第三个输入直接跳过通过上网的查找我终于发现了问题出在哪里:原来nextLine()函数获取的是一整行的内容其中也包括了(\n)也就是换行符而nextInt()函数获取的仅仅是一个值不包含(\n),那么nextInt()后面的nextLine()读取一行,就把(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号