문자열에서 특정 문자열을 찾을 수 있습니까,하지만 여기에 질문해야합니다어떻게 내 전체 질문 제목이 너무 긴
이 어떻게 공간과 특별 회계 문자열에서 특정 문자열의 모든 인스턴스를 찾을 수 있습니까 하위 문자열의 양쪽에 잠재적으로있는 문자
의미는 무엇입니까. VB.Net에서 SQL 코드 포맷 지원 프로그램을 작성 중입니다. 이 프로그램은 필자가 진정으로 쓰여진 SQL을 추적 할 때 도움이 될 것입니다. 예를 들어 A는 (여기에서 구문 오류를 무시하세요, 저는 SQL에 나쁜 코드를을 writting 잘 모르겠습니다) :
if exists(
select *
from dbo.table
where field1 = (if exists (select field1
from dbo.table1
where field2 = '123')
select field1 from table2)
내 프로그램은 아직 초기 단계이다. 나는 이미 대부분의 키워드를 확인하고 적절한 경우 형식으로 작성하는 코드를 작성했습니다. 따라서 위의 잘못된 코드 예제에서는 Select가 모두 Select입니다. 내가 배열 형식에서 핵심 단어의 목록을 작성했습니다 이렇게, 다음과 같은 기능이 배열을 사용하려면 :
Private Function FindAndReplace(ByVal findWhat As String, _
ByVal replaceWith As String, ByVal focusLine As String) As String
focusLine = Microsoft.VisualBasic.Strings.Replace(focusLine, findWhat, _
replaceWith, 1, -1, Constants.vbTextCompare)
Return focusLine
End Function
좋은 소식은이 선택과 같은 단어와 함께 정말 잘 작동합니다. If, Go, On 및 End와 같은 단어는 좀 더 어려운 단어입니다. Send라는 단어가 있으면 End가 키워드이므로 SEnd라는 단어로 바꿉니다. 이 중 많은 경우에 더 큰 단어 앞에 작은 단어를 넣음으로써 이것을 설명 할 수 있습니다. Google 시스템에서 사용자 메시지에 단어가 나타나는 횟수 때문에 키워드로 보내기를 추가했습니다.
On, If 또는 Go와 같은 단어를 설명하지 못하는 것 같습니다. 나는 "Go", "On", "Go", "On"등을 검색하는 것을 고려했습니다. Go가 첫 번째 단어가 될 때 ... 또는 유일한 경우가 있습니다 ...
내가 필요로하는 VB.Net은 주어진 부분 문자열 (예 : If)과 같은 모든 인스턴스의 문자열을 검색하는 것을 의미합니다. 문자열의 첫 번째 단어인지 확인합니다. 공백이나 특수 문자 조합 (또는 다른 문자와 밑줄 등으로 둘러싸이지 않음)으로 둘러 쌉니다. 내 요구 사항을 충족시키는 항목을 업데이트하고 나머지는 그대로 두겠습니다.
이 일을하면 도움이 될 수 있습니다.
_ "내가 SQL에 나쁜 코드를 작성하기에 좋은하지 않다"_ 무엇 유감 ! –
아마도 split()과 join()을 사용하여 단어 배열을 반복 처리하고 각 단어에 대해 개별적으로 작업하십시오. – fnostro
'where field2 = '와 같은 경우 어떻게 될까요? "OK"'를 선택하십시오. 간단한 검색과 대체가 모든 경우에 작동하지는 않습니다. 신뢰할 수있는 알고리즘은 몇 가지 기본 구문 분석을 수행해야합니다. –