请问如何处理这个字符串? 急!(30分)

S

saga

Unregistered / Unconfirmed
GUEST, unregistred user!

我在分析excel文档的时候,有一个cell里面的字符串是这样的 #abc,
我是把cell的内容赋值给一个字符串,然后再分析的。
到了处理这一个cell的时候就出错了。
字符串的开头不能是#呀。请问各位遇到这种情况应该怎么处理?
 
用copy函数
 
不是把,copy要求是字符串或者动态数组的。
function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;
Description
S is an expression of a string or dynamic-array type.
这个是delphi的help
 
pos函数可以
 
function Pos(Substr: string; S: string): Integer;
Description
Pos searches for a substring, Substr, in a string, S. Substr and S are string-type expressions.
pos也是要求字符串呀!老大。我真是沒辦法了。總不能讓程序運行著就跳出一個出錯對話
匡吧
 
字符串不能以#开头?没道理加上不可能,
 
字符串开头可以是#啊,我这样都可以:
showmessage(edit1.text); // edit1.text='#abc'
 
可以是#,因为我就曾经用过,不过是C++Builder.
我想不是在你得到这个数据时出错的,应该是在你的分析函数中出错的,
你跟踪调试看看吧
 
你们的办法我试过了,是可以的
但是在excel里面的#真的读不出来。
可能delphi在处理字符串的时候加了什么特殊的处理把
 
to 楼上的
我跟踪了三遍了,每次都是赋值的时候出错的
绝对不是分析的时候出错。
 
excel中一般在错误信息前加上“#”
另外,在Delphi中 # 是转义字符,

你可以先将包含“#”的单元格,显示地将格式设置为字符串试试
 
换个角度想想;也许 in excel #abc 中 # 是转义字符。根本不是cell中内容。
比如:一个表达式: #0ABC 但是由于系统字体凳原因,显示成了#ABC
最有可能是 unicode字符。如果 #后面接的是 0-9,1-f
 
顶部