Ajustar as colunas do texto adicionando espaco em branco para alinha-las.//.split(/\s+/);function tab_split() { // By lines var separator = document.url_form.fieldSeparator.value; var lines = document.url_form.rawTxt.value.split('\n'); //assuming n of tabs is the same of the first line console.log("---", separator, "---"); if (separator.indexOf("\t") >= 0) { n_tabs = lines[0].split(/\t+/).length; }else if (separator.indexOf("\s") >= 0) { n_tabs = lines[0].split(/\s+/).length; }else { n_tabs = lines[0].split(separator).length; } console.log("N of tabs = ", n_tabs); n_lines = 0; n_lines = lines.length; var max_length_per_col = []; var columns = []; // test two of the arrays after reading: for (var i = 0; i < n_tabs; i++) { columns[i] = []; max_length_per_col.push(0); }; // Breaking lines into tabs for (var j= 0; j < n_tabs; j++) { for (var i = 0; i < lines.length; i++){ if (separator.indexOf("\t") >= 0) { tabbed = lines[i].split(/\t+/); }else if (separator.indexOf("\s") >= 0) { tabbed = lines[i].split(/\s+/); }else { tabbed = lines[i].split(separator); } //Adding line records to each column columns[j].push(tabbed[j]); console.log("Columns: ",i, "Array", columns[j]); max_length_per_col[j] = (max_length_per_col[j] < tabbed[j].length) ? tabbed[j].length: max_length_per_col[j]; console.log("Later Max per column: ", j, " Max = ", max_length_per_col[j]); }; }; columns = pad_all_columns(columns, max_length_per_col, n_lines); processed_text = print_text(columns, n_tabs, n_lines, " "); document.url_form.processedTxt.value = processed_text;}//columns are a column/line matrix, //max_length_per_col has the new length to be matched by padding for each column//n_linesfunction pad_all_columns(columns, max_length_per_col, n_lines ){ for (var j= 0; j < n_tabs; j++) { for (var i = 0; i < n_lines; i++){ columns[j][i] = white_pad(columns[j][i], max_length_per_col[j]); }; console.log("Pad_all_columns:-",columns[j], "-" ); }; return columns}//returns a text with added trailing whitespaces to reach new_lengthfunction white_pad(text, new_length){ orig_text = ""; orig_text = text; for (var i = 0; i < new_length - text.length; i++) { orig_text += " "; console.log("White_pad -", orig_text ,"---"); }; return orig_text;}function print_text(columns, n_columns, n_lines, extra_pad){ new_text = ""; for (var i = 0; i < n_lines; i++) { for (var j= 0; j < n_columns; j++){ new_text += columns[j][i] + extra_pad; }; console.log("Print Text:-",new_text, "-" ); new_text += "\r\n"; }; console.log("Print Text:-",new_text, "-" ); return new_text}Separador:Ex.: \t = TAB, \s = Espaco em branco Texto Original: Texto Processado: "O quilograma (simbolo no SI: kg) e a unidade basica de massa do Sistema Internacional de Unidades (SI) e e definido como sendo igual a massa do International Prototype Kilogram, IPK, (prototipo internacional do quilograma) que tem peso quase igual ao de um litro d'agua." Wikipedia"A libra avoirdupois ou libra internacional (abreviatura: "lb", ou por vezes # nos Estados Unidos), e a unidade de massa definida como exatamente 0,45359237 quilogramas (ou 453,59237 gramas). Esta definicao esta em efeito desde 1959 nos Estados Unidos. E parte do sistema de unidades de massa avoirdupois." Wikipedia O Imposto de Renda Pessoa Fisica (IRPF) pode ser calculado atraves da formula:Descontos = dependentes + INSS + descontos extrasSalario tributavel = Salario bruto - Descontos IRPF = Salario taxavel * Aliquota - DeducaoA tabela do imposto de renda pode ser conferida aqui.A tabela de contribuicao do INSS pode ser conferida aqui.A tabela de deducao por dependentes pode ser conferida aqui.Na planilha abaixo, voce pode calcular seu imposto de renda para ano do calendario 2012