1樓:網友
方法:寬衝首先在edit1中的字串「1949年(==y27g3adc<==2008年 」中找到「(=和「<=的位置,然後將其間的字串提取出來即可。**如下:慎滲殲。
procedure : tobject);
vars1,s2: string;
p1,p2: integer;
begins1 :=;
p1 :=pos('喊帶(==s1);
p2 :=pos('s2 :=copy(s1,p1+6,p2-p1-6)//s2即為中間那8位數。
if s2 = then
有情況,要求動手','提示',mb_ok+mb_iconinformation);
end;end;
2樓:壬瑜
如果edit1中的字串格式是固定的那就可以簡單點。
varstr, tmpstr: string;
beginstr :=;
扮陵/從第13個梁鉛字元(就是')'後的第1個字元)開橡缺好始取8個字元。
tmpstr :=copy(str, 13, 8);
if tmpstr = then
showmessage('有情況')
elseshowmessage('沒情況');
end;
delphi如何獲取乙個字串再另乙個字串中最後一次出現的位置
3樓:網友
delphi的函式很多,被明日科技寫入函式大全的就是厚厚一本400多頁的書。因此沒有多少人去讀完它,只是滿足於幾十個常用函式而已。
pos在找到子串的首次位置後,我一般是採用在這個位置將字串切斷,並再次查詢下乙個子串位置。
delphi中pos函式怎麼用?
4樓:摯愛和你共亨
delphi中pos函式解法思路如下:
取出子串在父串中第一次出現的位置。
例如pos('b','abcd');
返回結果是2
5樓:網友
取出子串在父串中第一次出現的位置。
例如pos('b','abcd');
返回結果是2
在delphi中,怎麼查詢字串?
6樓:網友
另外,乙個簡單的辦法,就是用finddialog對話方塊,它提供這種機制。
7樓:網友
用函式可以完成,如果在資料庫中可以用到like
delphi漢字字串中查詢漢字第二次出現的位置
8樓:網友
如果是純中文字串,可以先對字串進行轉換處理:比如s1,zf:widestring;//widestring寬字元,指乙個字元佔兩個位元組的字元。
s1:=widestring('門診醫療診療收費收據');
然後再i:=pos('療',s1);
試一下?要找到第二個字元的位置,要麻煩一些。
先用pos函式給第乙個字元第乙個字元的位置然後用zf:=copy(s1,i+1,length(s1)-i);//去掉了第乙個要找字元及前面的字元。
j:=pos('療',zf);
j:=i+j;
此時j的值就是第二個'療'在串中的位置。
9樓:網友
str要定義為widestring
str:='我我';
pos('我',str)+pos('我',copy(str,i+1))
請教關於delphi讀取字串的問題
10樓:臨崖策馬
先read,用或file操作都行。
然後對讀出來的字串進行解析,用pos,copy兩個函式就夠 了。
11樓:網友
如果可能,建議樓主使用記錄檔案型別,不直接處理字串。
如果是「資料1---資料2---資料3---資料4」這樣的資料格式,可以這樣處理,安全又高效:
procedure : tobject);
varlists: tstrings;
list: tstrings;
s: string;
i: integer;
j: integer;
beginlists := ;
list := ;
tryfor i := 0 to - 1 do begins := ;
s := stringreplace(s, '---', ',', [rfreplaceall]);
s;for j := 0 to - 1 doshowmessage(;
end;finally
end;finally
end;end;
delphi 獲取兩字串之間的內容
12樓:網友
1樓得方法應該就可以了:
vari,j : integer;
x,y : integer;
begini := pos(strleft,fullstr);
x := i+length(strleft) ;
y := length(fullstr)-x +1;
strtmp := copy(fullstr,x,y);
j := pos(strright,strtmp)-1;
strtmp := copy(strtmp,1,j);
end;
13樓:極天異雲
使用pos函式得到子字串的位置,然後使用copy就可以了。
具體查一下delphi的幫助,你得學會這個才能學會自己解決問題。
delphi 獲取字串之間多個字元內容
14樓:網友
可通過函式pos及copy配合使用實現該功能。
一、函式說明:
pos:獲取特定字元所處字串的位置,返回資料型別為整型。pos共有兩個引數:pos(特定字元或字串,源字串)。
copy:字串擷取,返回資料型別為字元型。copy共有三個引數:copy(源字串,起始擷取位(整型,可為變數),擷取位數(整型,可為變數))。
二、例項演示(筆者以擷取特定字元『.'前5位為例),操作如下:
1、新增tedit及tbutton控制項各乙個;
2、在tbutton控制項的單擊事件中,寫入**:showmessage(copy(trim(,pos('.',trim(,5));
3、在tedit中隨便輸入一串字元,點選tbutton控制項,效果如下圖:
15樓:網友
varspos,epos :integer;
str :widestring;
sl :tstringlist;
beginsl := ;
trystr := '你好:嗯;你好:好;多謝:謝謝;知道:不知道;好了:沒有;';
repeat
spos := pos(':',str); //查詢":"的位置。
if spos > 0 then //判斷字串中是否含有":"
beginepos := pos(';',str); //查詢";"的位置。
if epos > 0 then //判斷字串中是否含有";"
spos + 1,epos - spos - 1)) //含有";"就獲取":"到";"的字串。
elsebegin //不含";" 就直接獲取全部字串 並賦值0給spos 結束迴圈。
spos := 0;
end;str := copy(str,epos + 1,length(str) -epos);
end;until spos = 0;
showmessage(;
finally
freeandnil(sl);
end;end;
16樓:網友
建議用正規表示式計算,方便、快捷、簡單。
17樓:匿名使用者
如果是漢字,建議將字串轉換為 widestring 然後用pos函式就可以直接去出來了。
delphi中函式返回陣列問題,delphi 函式返回值的定義問題
你定義的函式不是返回陣列型別的,只是返回乙個word 首先定義乙個陣列型別 type tarr array of integer 然後定義返回這個陣列型別的函式 function strsplit strsplit,str string tarr varstr array 1.2 of intege...
根據下列函式影象判斷函式的奇偶性
prince睡 奇函式影象關於原點對稱,偶函式影象關於y軸對稱,圖1和圖3是偶函式,圖2是奇函式,圖4既不是奇函式也不是偶函式。 奇函式關於遠點對稱 偶函式關於y軸對稱 所以1 3是偶函式 2是奇函式 4什麼也不是 也可以通過x 1,看f x f x f x 看影象判斷 偶函式必要條件 y座標軸對稱...
什麼是儲蓄函式,根據儲蓄函式,引起儲蓄增加的因素是( )。
儲蓄函式是指儲蓄與決定儲蓄大小的各種因素之間的依存關係。影響儲蓄的因素很多。但收入是最主要的因素,所以,儲蓄函式主要反映收入與儲蓄之間的依存關係,一般而言,在其他條件不變的情況下,儲蓄隨收入的變動而同方向變動,即收入增加,儲蓄增加,收入減少,儲蓄減少。儲蓄函式的公式為 s f y 因為 y c s ...