1樓:匿名使用者
vars: tstrings;
i: integer;
begin
s := tstringlist.create;
trys.delimiter := '*';
s.delimitedtext := '**aaa**bbb**ccc**ddddd';
for i := 0 to s.count - 1 doif s.strings[i] <> '' then showmessage(s.strings[i]);
finally
s.free;
end;
end;
2樓:鄭百問
function splitstring(const source,ch:string):tstringlist;
vartemp:string;
i:integer;
begin
result:=tstringlist.create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.add(temp);
end;
呼叫方法:
str:string;//你要解析的字串**aaa**bbb**ccc**ddddd
ch:string;//分隔符如「**」
strlist:tstringlist;//返回值strlist := tstringlist.create;
strlist := splitstring(str,ch);
delphi中如何比較字串的大小裡面內容都是數字
3樓:
把字串裡的數字分開存在strings 再進行操作
4樓:龍胖胖紙
如果都是數字的話,直接轉成浮點型或者整形,然後直接比較即可
5樓:憑韻
function isnumberic(vaule:string):boolean; //判斷vaule是不是數字
vari:integer;
begin
result:=true; //設定返回值為 是(真)vaule:=trim(vaule); //去空格for i:=1 to length(vaule) do //準備迴圈
begin
if not vaule[i] in ['0'..'9'] then //如果vaule的第i個字不是0-9中的任乙個
begin
result:=false; //返回值 不是(假)exit; //退出函式
end;
end;
end;
用這個函式判斷即可
6樓:
function comparestr(s1, s2:string): boolean;
vara, b: integer;
begin
a := strtoint(s1);
b := strtoint(s2);
result := (a > b);
end;
7樓:
if trystrtoint(astr, aint) then
8樓:危獻
直接比較
lstrcmp(s1, s2)
當s1s2時,返回值》0
需要windows.pas
9樓:匿名使用者
copy出來乙個乙個字元對比
delphi 獲取字串之間多個字元內容
10樓:匿名使用者
可通過函式pos及copy配合使用實現該功能。
一、函式說明:
pos:獲取特定字元所處字串的位置,返回資料型別為整型。pos共有兩個引數:pos(特定字元或字串,源字串)。
copy:字串擷取,返回資料型別為字元型。copy共有三個引數:copy(源字串,起始擷取位(整型,可為變數),擷取位數(整型,可為變數))。
二、例項演示(筆者以擷取特定字元『.'前5位為例),操作如下:
1、新增tedit及tbutton控制項各乙個;
2、在tbutton控制項的單擊事件中,寫入**:showmessage(copy(trim(ed2.text),pos('.',trim(ed2.text))-6,5));
3、在tedit中隨便輸入一串字元,點選tbutton控制項,效果如下圖:
11樓:匿名使用者
varspos,epos :integer;
str :widestring;
sl :tstringlist;
begin
sl := tstringlist.create;
trystr := '你好:嗯;你好:好;多謝:謝謝;知道:不知道;好了:沒有;';
repeat
spos := pos(':',str); //查詢":"的位置
if spos > 0 then //判斷字串中是否含有":"
begin
epos := pos(';',str); //查詢";"的位置
if epos > 0 then //判斷字串中是否含有";"
sl.add(copy(str,spos + 1,epos - spos - 1)) //含有";"就獲取":"到";"的字串
else
begin //不含";" 就直接獲取全部字串 並賦值0給spos 結束迴圈
sl.add(str);
spos := 0;
end;
str := copy(str,epos + 1,length(str) - epos);
end;
until spos = 0;
showmessage(sl.text);
finally
freeandnil(sl);
end;
end;
12樓:匿名使用者
建議用正規表示式計算,方便、快捷、簡單。
回答完畢,謝謝。
13樓:匿名使用者
如果是漢字,建議將字串轉換為 widestring 然後用pos函式就可以直接去出來了。
在delphi7中,如何在乙個字串中查詢某一地位處的字元是什麼?
14樓:匿名使用者
可通過函式pos及copy配合使用實現該功能。
一、函式說明:
pos:獲取特定字元所處字串的位置,返回資料型別為整型。pos共有兩個引數:pos(特定字元或字串,源字串)。
copy:字串擷取,返回資料型別為字元型。copy共有三個引數:copy(源字串,起始擷取位(整型,可為變數),擷取位數(整型,可為變數))。
二、例項演示(筆者以擷取特定字元『.'前5位為例),操作如下:
1、新增tedit及tbutton控制項各乙個;
2、在tbutton控制項的單擊事件中,寫入**:showmessage(copy(trim(ed2.text),pos('.',trim(ed2.text))-6,5));
3、在tedit中隨便輸入一串字元,點選tbutton控制項,效果如下圖:
15樓:習仙子
1乙個字串就是乙個陣列var str: string;begin str := 'hello'; caption := str[2]; //顯示eend; 檢視原帖》
delphi 如何把一串字串的某個值的前幾個字元保留下來
16樓:匿名使用者
可通過函式
pos及copy配合使用實現該功能。
一、函式說明:
pos:獲取特定字元所處字串的位置,返回資料型別為整型。pos共有兩個引數:pos(特定字元或字串,源字串)。
copy:字串擷取,返回資料型別為字元型。copy共有三個引數:copy(源字串,起始擷取位(整型,可為變數),擷取位數(整型,可為變數))。
二、例項演示(筆者以擷取特定字元『.'前5位為例),操作如下:
1、新增tedit及tbutton控制項各乙個;
2、在tbutton控制項的單擊事件中,寫入**:showmessage(copy(trim(ed2.text),pos('.',trim(ed2.text))-6,5));
3、在tedit中隨便輸入一串字元,點選tbutton控制項,效果如下圖:
17樓:
狂暈,乙個so easy的東東用得著這樣解決嗎vars: string;
ca: array of char;
i, len: integer;
begin
s := 'abcde';
s := copy(s, 1, 2);
len := length(s);
setlength(ca, len);
for i := 0 to len - 1 doca[i] := s[i+1];
end;
//ca就是你所要的
//另外,在delphi中,string型別本身就可以看作是乙個以1為基數的陣列,
18樓:沙支誇依
不知道樓上的朋友程式調了沒.大眼一看就好幾處錯誤.真是不應該啊....
我給一段**並附上測試例程.
//delphi 7.0+win2k下通過
function myfun(str: string): pchar;
vari: integer;
begin
i := pos('c', str);
getmem(result, i); //注意,呼叫完該函式後,要呼叫freemem釋放記憶體
zeromemory(result, length(result));
copymemory(result, @str[1], i-1);
end;
procedure tform1.button1click(sender: tobject);
varstr: string;
p: pchar;
i: integer;
begin
str := 'aabcdefg'; //測試範例字串
p := myfun(str); //獲取'c'之前的字串並轉換為字元陣列(指標)
for i:=0 to length(p) do //對兩種方式訪問結果的每乙個元素
begin
memo1.lines.add(p[i]); //按陣列訪問
memo1.lines.add((p+i)^); //按指標訪問
end;
memo1.lines.add(p); //支援字串式訪問的自動轉換
freemem(p); //對應getmem.不然會記憶體洩漏
end;
end.
19樓:匿名使用者
這個嘛用的基本是字串的處理函式
i,j:integer;
s1,s2:string;
arr :array of char;
begin
s1:="abcdef"; //這步你當然可以用s1來動態獲得它的值比方說 //s1:=edit2.text;
i:=pos('c',s1);
s2:=copy(s1,1,length(s1-i-1));
setlength(arr,i-1);
for j:=0 to i-1do
begin
arr[j]:=copy(s2,j+1,1); //其實s2本身也可以當成陣列來用了
end;
end;
delphi字串換行,Delphi字串換行
textout不能實現自動換行,如果要實現自動換行,可以考慮用drawtext。procedure tform1.button1click sender tobject var s string rect trect begin s 個數 10 13 6 rect.left 20 rect.top ...
delphi讀取字串問題,Delphi 獲取兩字串之間的內容
一行一行讀,每一行讀取後tirm掉開頭的空格,然後如果是以開頭的,則再trim掉開頭的和結尾的,如果不為空就記錄下來 delphi 獲取兩字串之間的內容 function getstringbetween const fullstr,strleft,strright string string va...
c 字串中插入字元,C 字串中插入字元
include stdio.h define aac 20 define bac 20 define sac 100 int main sac j 0 printf s sac return 0 經過測試,請安心使用 凡鳥 我用str.replace 為什麼替換出來被替換的部分就成了亂碼 是兩個字元...
delphi獲取字串之間多個字元內容
可通過函式pos及copy配合使用實現該功能。一 函式說明 pos 獲取特定字元所處字串的位置,返回資料型別為整型。pos共有兩個引數 pos 特定字元或字串,源字串 copy 字串擷取,返回資料型別為字元型。copy共有三個引數 copy 源字串,起始擷取位 整型,可為變數 擷取位數 整型,可為變...
excel 符串拆分方法,excel 字串拆分方法?
方法一 1 在a2單元格輸入以下公式,然後向下填充公式到a4 trim right substitute left a 1,find 座 substitute a 1,座 row a1 1 rept 99 99 2 在a5單元格輸入 right a 1,len a1 find 座 substitut...