Java by API/java.text/Normalizer — различия между версиями

Материал из Java эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Версия 17:43, 31 мая 2010

Normalizer.Form.NFD

 

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.Normalizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main extends JFrame {
  public Main() {
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    JPanel pnl = new JPanel();
    pnl.add(new JLabel("Enter text"));
    final JTextField txtText;
    txtText = new JTextField("to be removed");
    pnl.add(txtText);
    JButton btnRemove = new JButton("Remove");
    ActionListener al = new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String text = txtText.getText();
        text = Normalizer.normalize(text, Normalizer.Form.NFD);
        txtText.setText(text.replaceAll("[^\\p{ASCII}]", ""));
      }
    };
    btnRemove.addActionListener(al);
    pnl.add(btnRemove);
    add(pnl);
    pack();
    setVisible(true);
  }
  public static void main(String[] args) {
    new Main();
  }
}





Normalizer: normalize(CharSequence src, Form form)

 

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.Normalizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main extends JFrame {
  public Main() {
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    JPanel pnl = new JPanel();
    pnl.add(new JLabel("Enter text"));
    final JTextField txtText;
    txtText = new JTextField("to be removed");
    pnl.add(txtText);
    JButton btnRemove = new JButton("Remove");
    ActionListener al = new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String text = txtText.getText();
        text = Normalizer.normalize(text, Normalizer.Form.NFD);
        txtText.setText(text.replaceAll("[^\\p{ASCII}]", ""));
      }
    };
    btnRemove.addActionListener(al);
    pnl.add(btnRemove);
    add(pnl);
    pack();
    setVisible(true);
  }
  public static void main(String[] args) {
    new Main();
  }
}