Extrair e analisar objetos estruturados fora da cadeia de caracteresExtract and Parse Structured Objects out of String

Isso também introduz algumas funcionalidades adicionais ao cmdlet ConvertFrom-String:This also introduces some additional functionality for the ConvertFrom-String cmdlet:

  • Por padrão, remove a propriedade de texto de extensão.Removes the extent text property by default. É possível incluí-la com o parâmetro -IncludeExtent.You can include it with the -IncludeExtent parameter.

  • Muitas correções de bug do algoritmo de aprendizado de acordo com os comentários da comunidade e do MVP.Many learning algorithm bug fixes from MVP and community feedback.

  • Um novo parâmetro -UpdateTemplate para salvar os resultados do algoritmo de aprendizado em um comentário no arquivo de modelo.A new -UpdateTemplate parameter to save the results of the learning algorithm into a comment in the template file. Isso faz com que o processo de aprendizado (a etapa mais lenta) seja de custo único.This makes the learning process (the slowest stage) a one-time cost. A execução de Convert-String com um modelo que contém o algoritmo de aprendizado codificado agora é quase instantânea.Running Convert-String with a template that contains the encoded learning algorithm is now nearly instantaneous.

Extrair e analisar objetos estruturados fora do conteúdo da cadeia de caracteresExtract and parse structured objects out of string content

Em colaboração com o Microsoft Research, um novo cmdlet ConvertFrom-String foi adicionado.In collaboration with Microsoft Research, a new ConvertFrom-String cmdlet has been added.

Esse cmdlet dá suporte a dois modos: análise delimitada básica e análise orientada por exemplo gerada automaticamente.This cmdlet supports two modes: basic delimited parsing, and auto generated example-driven parsing.

A análise delimitada, por padrão, divide a entrada no espaço em branco e atribui nomes de propriedade aos grupos resultantes.Delimited parsing, by default, splits the input at white space, and assigns property names to the resulting groups. É possível personalizar o delimitador:You can customize the delimiter:

1 [C:\temp] >> "Hello World" | ConvertFrom-String | Format-Table -Auto1 [C:\temp] >> "Hello World" | ConvertFrom-String | Format-Table -Auto

P1 P2P1 P2


O cmdlet também dá suporte à análise orientada por exemplo gerada automaticamente com base no trabalho de pesquisa FlashExtract no Microsoft Research.The cmdlet also supports auto-generated example-driven parsing based on the FlashExtract research work in Microsoft Research.

Para começar, considere um catálogo de endereços baseado em texto:To get started, consider a text-based address book:

Ana Trujillo

Redmond, WA

Antonio Moreno

Renton, WA

Thomas Hardy

Seattle, WA

Christina Berglund

Redmond, WA

Hanna Moos

Puyallup, WA

Faça uma cópia de alguns exemplos em um arquivo, que você usará como o modelo:Copy a few examples into a file, which you will use as your template:

Ana Trujillo

Redmond, WA

Antonio Moreno

Renton, WA

Coloque chaves em torno dos dados que deseja extrair, nomeando-os.Put curly braces around data that you want to extract, giving it a name as you do so. Como a propriedade Name (e suas outras propriedades associadas) pode aparecer várias vezes, use um asterisco (*) para indicar que isso resultará em vários registros (em vez de extrair várias propriedades em um registro):Because the Name property (and its associated other properties) can appear multiple times, use an asterisk (*) to indicate that this results in multiple records (rather than extracting a bunch of properties into one record):

{Name\*:Ana Trujillo}

{City:Redmond}, {State:WA}

{Name\*:Antonio Moreno}

{City:Renton}, {State:WA}

Desse conjunto de exemplos, ConvertFrom-String agora pode extrair automaticamente a saída com base no objeto de arquivos de entrada com uma estrutura semelhante.From this set of examples, ConvertFrom-String can now automatically extract object-based output from input files with similar structure.

2 [C:\temp]2 [C:\temp]

>> Get-Content .\addresses.output.txt | ConvertFrom-String -TemplateFile .\addresses.template.txt | >>> Format-Table -Auto>> Get-Content .\addresses.output.txt | ConvertFrom-String -TemplateFile .\addresses.template.txt | >>> Format-Table -Auto

ExtentText Name City StateExtentText Name City State


Ana Trujillo... Ana Trujillo Redmond WA Antonio Moreno... Antonio Moreno Renton WA Thomas Hardy... Thomas Hardy Seattle WA Christina Berglund... Christina Berglund Redmond WA Hanna Moos... Hanna Moos Puyallup WAAna Trujillo... Ana Trujillo Redmond WA Antonio Moreno... Antonio Moreno Renton WA Thomas Hardy... Thomas Hardy Seattle WA Christina Berglund... Christina Berglund Redmond WA Hanna Moos... Hanna Moos Puyallup WA

A fim de realizar a manipulação de dados adicional no texto extraído, a propriedade ExtentText captura o texto não processado do qual o registro foi extraído.To do additional data manipulation on extracted text, the ExtentText property captures the raw text from which the record was extracted. Para fornecer comentários sobre este recurso ou compartilhar conteúdo para o qual está tendo dificuldades para escrever exemplos, envie um email para psdmfb@microsoft.com.To provide feedback on this feature, or to share content for which you are having difficulty writing examples, please email psdmfb@microsoft.com.