delphi中字串符比較的問題

時間 2022-10-16 11:12:33

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...