Você está aqui: JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
|
Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizadaQuantidade de visualizações: 8948 vezes |
|
Há muitos anos eu precisava remover espaços no final de uma string em JavaScript e percebi que o objeto String, na época, não oferecia a função trim(). Não me restou opção a não ser sentar e escrever o código na mão mesmo. Hoje em dia não precisamos mais dele, mas fica aí para que você entenda a lógica empregada na resolução do problema. Veja a página HTML completa com o exemplo: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> // função personalizada que remove os espaços // no final de uma string function trim_final(string){ // primeiro definimos o código do espaço var espaco = String.fromCharCode(32); // obtemos o tamanho da string var tamanho = string.length; // e criamos uma string temporária var temp = ""; // a string está vazia? if(tamanho < 0){ return ""; } // uma variável temporária para percorrermos // a string de trás para frente var temp2 = tamanho - 1; while(temp2 > -1){ if(string.charAt(temp2) == espaco){ // não faz nada } else{ temp = string.substring(0, temp2 + 1); break; } // decrementamos a variável temp2 temp2--; } return temp; } // vamos testar a função trim_final() var frase = "Gosto muito de JavaScript "; document.write("Com espaços no final: " + frase + "#" + "<br>"); // vamos remover os espaços no final da string frase = trim_final(frase); document.write("Sem espaços no final: " + frase + "#" + "<br>"); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Com espaços no final: Gosto muito de JavaScript # Sem espaços no final: Gosto muito de JavaScript# |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Classes e Componentes ::: JTable |
Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java SwingQuantidade de visualizações: 14570 vezes |
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula. Veja o resultado da figura abaixo: E aqui está o código Java Swing completo para o exemplo: package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.table.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); // colunas da tabela String[] colunas = {"Nome", "Idade", "Sexo"}; // conteúdo da tabela Object[][] conteudo = { {"Osmar J. Silva", "32", "Masculino"}, {"Maria Clara Gomes", "19", "Feminino"}, {"Fernando Gomes", "15", "Masculino"}, {"Carlos Vieira", "40", "Masculino"} }; // constrói a tabela JTable tabela = new JTable(conteudo, colunas); // quero exibir imagens ao lado do texto da primeira coluna TableCellRenderer tcr = new Imagem(); TableColumn column = tabela.getColumnModel().getColumn(0); column.setCellRenderer(tcr); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class Imagem extends JLabel implements TableCellRenderer{ public Imagem(){ setOpaque(true); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif"); // certifique-se da existencia da imagem "icon.gif" antes de executar if(isSelected) setBackground(table.getSelectionBackground()); else setBackground(table.getBackground()); setIcon(imagem); setText(value.toString()); return this; } public void validate() {} public void revalidate() {} protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {} public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {} } |
GoLang ::: Fundamentos da Linguagem ::: Laços |
Como usar o laço for em GoLang - O laço for da linguagem GoQuantidade de visualizações: 738 vezes |
Como todas (ou praticamente todas) as linguagens de programação, a GoLang também possui o seu laço for, ou loop for. Este laço é usado para repetir uma ou mais instruções quando sabemos exatamente quantas vezes essa repetição ocorrerá. Em Go, o laço for é composto de três partes: inicialização, teste de continuidade e incremento ou decremento da variável de controle. Na parte da inicialização nós declaramos e inicializamos as variáveis que serão usadas dentro da estrutura. O teste de continuidade é a parte na qual verificamos se o laço deverá continuar repetindo ou encerrar. Finalmente, a parte de incremento ou decremento é usada para ajustarmos a variável de controle do laço. Veja, por exemplo, como escrever um laço for em GoLang que contará de 1 até 10, escrevendo os números na tela: // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { for i := 1; i <= 10; i++ { fmt.Printf("%d ", i) } } Ao executar este código Go nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 O laço for da linguagem GoLang nos permite omitir as partes da inicialização e de incremento ou decremento, embora esse tipo de código não seja muito usual. Veja um trecho de código no qual usamos o laço for da linguagem Go para contar de 10 até 0 (omitindo a parte da inicialização da variável de controle): // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { i := 10 // definimos o valor inicial aqui for ; i >= 0; i-- { fmt.Printf("%d ", i) } } Ao executarmos este código Go nós teremos o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 0 Veja, agora, uma modificação do código acima. Desta vez eu omiti a parte de incremento ou decremento da variável de controle: // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { for i := 10; i >= 0; { fmt.Printf("%d ", i) i-- } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços em excesso em uma string Java usando expressões regularesQuantidade de visualizações: 12049 vezes |
Em algumas situações nós precisamos remover os espaços em excesso de um texto ou frase. Há várias formas de se realizar esta tarefa, e uma delas é por meio do uso de expressões regulares. Veja um trecho de código no qual usamos o método replaceAll() da classe Matcher para substituir dois ou mais espaços por apenas um espaço: package arquivodecodigos; // Este exemplo mostra como remover todos os espaços // duplicados de uma string import java.util.regex.*; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java e bom"; System.out.println("Com espaços em excesso: " + frase); frase = removerEspacosDuplicados(frase); System.out.println("Sem espaços em excesso: " + frase); System.exit(0); } public static String removerEspacosDuplicados(String str){ String patternStr = "\\s+"; String replaceStr = " "; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(str); return matcher.replaceAll(replaceStr); } } Ao executarmos este código Java nós teremos o seguinte resultado: Com espaços em excesso: Programar em Java é bom Sem espaços em excesso: Programar em Java é bom |
PHP ::: Dicas & Truques ::: Data e Hora |
Como construir uma data usando a função mktime() do PHPQuantidade de visualizações: 13322 vezes |
A forma mais comum de se construir uma data e hora no PHP é por meio da função mktime(). Esta função recebe as horas e a data na sequência horas, minutos, segundos, mês, dia, ano e retorna um timestamp Unix, que é a quantidade de segundos desde 31/12/1969 - 21:00:00 (fuso horário brasileiro). Veja um trecho de código que constrói a data 13/05/2020 à meia-noite: <html> <head> <title>Estudos PHP</title> </head> <body> <?php // construir a data 13/05/2020 // se quiser fornecer as horas o formato é: // hora, minuto, segundo $timestamp = mktime(0, 0, 0, 05, 13, 2020); echo "A data é: " . date('d/m/Y', $timestamp); ?> </body> </html> Ao executar este código nós teremos o seguinte resultado: A data é: 13/05/2020 |
Ruby ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Ruby usando o método cos() da biblioteca Math - Calculadora de cosseno em RubyQuantidade de visualizações: 566 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Ruby. Esta método, que faz parte da biblioteca Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: puts "Cosseno de 0 = " + Math.cos(0).to_s puts "Cosseno de 1 = " + Math.cos(1).to_s puts "Cosseno de 2 = " + Math.cos(2).to_s Ao executar este código Ruby nós teremos o seguinte resultado: Cosseno de 0 = 1.0 Cosseno de 1 = 0.5403023058681398 Cosseno de 2 = -0.4161468365471424 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |