求速度帮忙解决下 C#截取exsl 单元格 aaa.123_asdf_中文字符

feivvvv 2014-10-21 05:31:37
单元格内容A1: aaa.123_asdf_中文字符
单元格内容A2:232_ aaa.123_asdf_中文字符
两个textbox 一个button 控件按钮,怎么点击button按钮读取单元格内容显示在textbox里,但是显示的内容后面的一个下划线和中文不要,只要aaa.123_asdf 特别声明:内容是变量不固定的,或长或短,但是后面始终有中文,请文代码该怎么写?我是新手请多多帮忙万分感谢!最好给注释下:
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
feivvvv 2014-10-26
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
1.先把.rar替换成_rar 2.分解 3.判断最后一项是中文或rar,则抛弃最后一项,否则保留最后一项,重新拼接
用你的方法解决了前面两项,还有一项没解决就是没有后缀的全部要怎么来写?: string str = excelHelper.ExcelToDataTable(aaa[0], true, 9, 2).ToString().Replace(".rar", "_rar"); string[] strList = str.Split('_'); string newStr = string.Empty; for (int i = 0; i < strList.Length - 1; i++) { if (i > 0) { newStr += "_"; } newStr += strList[i]; } textBox3.Text = newStr;
feivvvv 2014-10-26
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
判断是否中文,可以判断char的数值是否在某个范围内
代码帮忙写下呗 哥哥
feivvvv 2014-10-22
  • 打赏
  • 举报
回复
string GMapDemo; string strName = string.Empty; if (ofd.ShowDialog() == DialogResult.OK) { using (GMapDemo.ExcelHelper excelHelper = new GMapDemo.ExcelHelper(ofd.FileName)) { List<string> aaa = excelHelper.Get_SheetName(); string str = excelHelper.ExcelToDataTable(aaa[0], true, 9, 2); int idx = str.LastIndexOf('_'); textBox3.Text = str.Substring(0, idx); } } 我现在是这样写的,但是没办法判断如下三种: aaa.123_asdf_中文字符 aaa.123_asdf.rar aaa.123_asdf 后面没后缀或后缀是.rar 都是在一个单元格里面,我读取的时候还是只要aaa.123_asdf 循环判断怎么写?
feivvvv 2014-10-22
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
string str="aaa.123_asdf_中文字符";//获取字符串,这里我写死了
string[] strList=str.Split('_');//按_分割成字符串数组,分割出来之后应该是{"aaa.123","asdf","中文字符"}
string newStr=string.Empty;//定义一个新的字符串,准备重新把分割开的字符串数组拼接起来
for(int i=0;i<strList.Length-1;i++)
{
if(i>0)
{
newStr+="_";//判断如果不是第一项,前面先加个_分隔符
}
newStr+=strList[i];//每一项拼接起来
}
如果是三种我该怎么来截取: aaa.123_asdf_中文字符 aaa.123_asdf.rar aaa.123_asdf 后面没后缀或后缀是.rar 都是在一个单元格里面,我读取的时候还是只要aaa.123_asdf 循环判断怎么写?
feivvvv 2014-10-22
  • 打赏
  • 举报
回复
引用 楼主 feivvvv 的回复:
单元格内容A1: aaa.123_asdf_中文字符 单元格内容A2:232_ aaa.123_asdf_中文字符 两个textbox 一个button 控件按钮,怎么点击button按钮读取单元格内容显示在textbox里,但是显示的内容后面的一个下划线和中文不要,只要aaa.123_asdf 特别声明:内容是变量不固定的,或长或短,但是后面始终有中文,请文代码该怎么写?我是新手请多多帮忙万分感谢!最好给注释下:
如果是三种我该怎么来截取: aaa.123_asdf_中文字符 aaa.123_asdf.rar aaa.123_asdf 后面没后缀或后缀是.rar 都是在一个单元格里面,我读取的时候还是只要aaa.123_asdf 循环判断怎么写?
_小黑_ 2014-10-22
  • 打赏
  • 举报
回复

[\w]+\.[\d]+_[\w]+(?=_|\.)|[\w]+\.[\d]+_[\w]+
於黾 2014-10-22
  • 打赏
  • 举报
回复
判断是否中文,可以判断char的数值是否在某个范围内
於黾 2014-10-22
  • 打赏
  • 举报
回复
1.先把.rar替换成_rar 2.分解 3.判断最后一项是中文或rar,则抛弃最后一项,否则保留最后一项,重新拼接
於黾 2014-10-21
  • 打赏
  • 举报
回复
string str="aaa.123_asdf_中文字符";//获取字符串,这里我写死了
string[] strList=str.Split('_');//按_分割成字符串数组,分割出来之后应该是{"aaa.123","asdf","中文字符"}
string newStr=string.Empty;//定义一个新的字符串,准备重新把分割开的字符串数组拼接起来
for(int i=0;i<strList.Length-1;i++)
{
if(i>0)
{
newStr+="_";//判断如果不是第一项,前面先加个_分隔符
}
newStr+=strList[i];//每一项拼接起来
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧