以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]小白又来求教了。。关于表中字符的转换 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27971) |
||||
-- 作者:不倒的翁 -- 发布时间:2013/1/15 15:31:00 -- [求助]小白又来求教了。。关于表中字符的转换 请教如何将第二列的值自动转换为第一列那样的值。。。。 公司导出的数据括号太多了。想了半天没想出怎么转换这个值。。 原先设想用Contains的但格子里的数据前半段都是一样的。。。 请教高手。。。谢谢了。
此主题相关图片如下:qq截图20130115152742.png |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/15 16:14:00 -- 代码,如下。 For Each r As Row In Tables("表A").Rows r("第三列") = System.Text.RegularExpressions.Regex.Replace(r("第二列"), "\\({1}[0-9a-zA-Z]{2,}(\\([a-zA-Z]\\))?\\){1}", "") Next |
||||
-- 作者:不倒的翁 -- 发布时间:2013/1/15 16:19:00 -- 感谢林老师。下班回去试试。 你的帖子要破5000了。。。。 此主题相关图片如下:未命名.png |
||||
-- 作者:不倒的翁 -- 发布时间:2013/1/15 17:56:00 -- 此主题相关图片如下:未命名.jpg 林老师。。。。 你给的代码能替换前面所给的项目中的字符了。 但遇到其他的字符就不行。。。 正则表达式去看了看。。看的都头晕了。。。。 [此贴子已经被作者于2013-1-15 17:56:01编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/15 18:15:00 -- 算了,没有办法取巧。踏实弄吧。 For Each r As Row In Tables("表A").Rows Dim idx As Integer = r("第二列").indexof(")") If idx > r("第二列").Length / 2 Then idx = r("第二列").indexof("(") - 1 End If r("第三列") = left(r("第二列"), idx+1) Next |
||||
-- 作者:不倒的翁 -- 发布时间:2013/1/15 18:27:00 -- 林老师。首先谢谢你能这么热心的帮我。感谢。 我看了下你刚写的代码。 写代码这活的确要会转弯,还要运用娴熟才能写出来的。 精辟啊。 |