Abaixo citamos um exemplo de
utilização do Step Strings Cut, que pode ser utilizado para copiar um pedaço de
uma string, ou vários pedaços conforme desejado.
Exemplo:
- Inserimos na transformação o Step “Generate
Rows” onde vamos simular o valor de uma
string:
No campo “Nome do Step” vamos definir como “Nossa
String”;
Campo Nome = “campo_teste”;
Campo Tipo = “String”;
Valor = “Kettle - Data
Integration Pentaho”;
Ficando assim:
- Inserimos um Step “Strings Cut”, e ligamos ele ao Step “Nossa
String”(Generate Rows);
Vamos então dividir a nossa
string em 4 palavras: Kettle, Data,
Integration, Pentaho:
No campo “In Stream Field” definimos o nome da string a ser utilizada(a ser cortada, informação de entrada), no caso é “campo_teste”;
No campo “Out stream field”
definimos a string de saída após a cópia:
Linha
2: segunda_palavra;
Linha
3: terceira_palavra;
Linha
4: quarta_palavra;
No campo “Cut from”
definimos a posição inicial para a cópia:
Linha 1= 0 ;
Linha 2=9;
Linha 3=14;
Linha 4=26;
No campo “Cut to” definimos
até que posição da string será a cópia:
Linha 1=6;
Linha 2=13;
Linha 3=25;
-Para teste vamos inserir o Step “Text file output” e ligar o Step “Pedaços da String”(Strings Cut) ao novo Step “Text file Output”, depois efetuamos a configuração
do “Text file Output”:
Executamos a transformação:
Quando abrimos o arquivo em d:\teste_String_Cut,
obtemos os dados de saída após as devidas cópias(cortes) da String:
Este foi um post que
demonstra apenas a utilização do Step “Strings Cut” sendo que ele pode ser
utilizado em diversos casos e situações, sempre que necessário copiar um pedaço
de uma string.
É possível usar o string cut da direita para a esquerda?
ResponderExcluirLuis Filipi,
ResponderExcluirVocê não precisa se preocupar com o lado, direito, meio ou esquerdo, pois isso é indiferente para o kettle. Como você defini o intervalo de caracteres a ser extraído o lado em que ele está é o que menos importa. O próprio exemplo do post demonstra isso. O Valor = “Kettle - Data Integration Pentaho”, por exemplo, a palavra Pentaho. Foi extraída da direta para esquerda, considerando a posição dela na string, apenas setando o valor inicial em 26 e o final 33.
Olá Luis Filipe,
ResponderExcluirEstou trabalhando em uma transformação de um arquivo txt com o step Strings Cut. A dificuldade que estou tendo agora é como juntar em uma mesma linha de saída as informações que extrai do arquivo original e estão em linhas diferentes.
Agradeço se puder me ajudar.
Oi
ResponderExcluirE se quisermos cortar uma substring até um caracter? por exemplo nome=Fábio e só queremos a palavra Fábio apagado "nome="
Oi
ResponderExcluirE se quisermos cortar uma substring até um caracter? por exemplo nome=Fábio e só queremos a palavra Fábio apagado "nome="
Ola pessoal!
ResponderExcluirE se eu quiser pegar uma palavra que não tem posição certa.
existe algum step de "localizar palavra"