각 행에 비슷한 텍스트 아래에 포함 된 열 기준이 있습니다.
inclusion : ajjsdijd
sdsjdjs
ieroeito trorg inclusion
sdkjwedk
exclusion :
sdkjwdowek
ksdldk exclusion
skdkefk
kfkwkfwe
첫 번째 포함과 제외 사이의 텍스트를 추출하고 싶습니다. 그래서 여기에 결과를 원합니다.
ajjsdijd
sdsjdjs
ieroeito trorg inclusion
sdkjwedk
또한 첫 번째 제외 키워드 후 텍스트를 추출하고 싶습니다.
sdkjwdowek
ksdldk exclusion
skdkefk
kfkwkfwe
현재 PostgreSQL 아래를 사용하고 있지만 이로 인해 문제가 발생하고 첫 번째 포함과 마지막 제외 사이의 텍스트가 선택됩니다.
substring(lower(criteria) from 'inclusion(.+)exclusion')
substring(lower(criteria) from 'exclusion(.+)')
다음과 같이 시도해 볼 수 있습니다.
DO $$
DECLARE input1 TEXT;
DECLARE output1 TEXT;
DECLARE output2 TEXT;
declare posincl integer;
declare posexcl integer;
BEGIN
input1 := 'inclusion : ajjsdijd
sdsjdjs
ieroeito trorg inclusion
sdkjwedk
exclusion :
sdkjwdowek
ksdldk exclusion
skdkefk
kfkwkfwe' ;
posincl := position('inclusion :' in input1);
posexcl := position('exclusion :' in input1);
output1 := substring(input1 from (posincl + 11) for (posexcl - posincl - 11));
output2 := substring(input1 from (posexcl + 11));
RAISE NOTICE 'Value of output1: %', output1;
RAISE NOTICE 'Value of output2: %', output2;
END $$;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다