に、ある時点までのファイルそれでは、私はこのテキストファイルとしましょう:読み取り、文字列
(*********************************************
Import-Export
Version := v24.00
Owner :=
Exported := Wed Oct 05 09:22:48 2016
Note: File encoded in UTF-8. Only edit file in a program
which supports UTF-8 (like Notepad, not Wordpad).
**********************************************)
IE_VER := 2.15;
CONTROLLER controllerName (ProcessorType := "1756-L71",
Major := 24,
TimeSlice := 20,
ShareUnusedTimeSlice := 1,
RedundancyEnabled := 0,
KeepTestEditsOnSwitchOver := 0,
DataTablePadPercentage := 50,
SecurityCode := 0,
ChangesToDetect := 16#ffff_ffff_ffff_ffff,
SFCExecutionControl := "CurrentActive",
SFCRestartPosition := "MostRecent",
SFCLastScan := "DontScan",
SerialNumber := 16#0000_0000,
MatchProjectToController := No,
CanUseRPIFromProducer := No,
InhibitAutomaticFirmwareUpdate := 0,
PassThroughConfiguration := EnabledWithAppend,
DownloadProjectDocumentationAndExtendedProperties := Yes)
MODULE Local (Parent := "Local",
ParentModPortId := 1,
CatalogNumber := "1756-L71",
Vendor := 1,
ProductType := 14,
ProductCode := 92,
Major := 24,
Minor := 11,
PortLabel := "RxBACKPLANE",
ChassisSize := 10,
Slot := 0,
Mode := 2#0000_0000_0000_0001,
CompatibleModule := 0,
KeyMask := 2#0000_0000_0001_1111)
END_MODULE
...
をそして「...」テキストファイルの継続をマークします。もし私がちょうど "END_MODULE"を含むすべてのものを読み込みたいのであれば、その文字列にどうすればいいでしょうか?
私の考えは: ファイル全体を文字列に読み込み、改行で解析し、それらの配列要素のうちの1つが "END_MODULE"を含むまでそれらの配列要素を連結するdo whileループを作成しますが、 ?私は文字列を配列に分割し、それを再び単一の文字列に連結するためです。私の考えよりも速い方法がありますか?テキストファイルは超大型でない場合
「END_MODULE」という行が表示されるまで、1行ずつ読むことができます。 – Evk
または単にregex: '。*?END_MODULE'を使用してください。しかし、一行修飾子を使用するようにしてください。 – ThePerplexedOne
@ Evkあなたは私にそれの構文を教えてもらえますか?いくつかのサンプルコード?本当に助けてください! –