import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(.*?)\\[(.*)\\]";
final String string = "Canada [CA]\n"
+ "United States [US]\n"
+ "Afghanistan [AF]\n"
+ "Albania [AL]\n"
+ "Algeria [DZ]\n"
+ "American Samoa [AS]\n"
+ "Andorra [AD]\n"
+ "Angola [AO]\n"
+ "Anguilla [AI]\n"
+ "Antarctica [AQ]\n"
+ "Antigua And Barbuda [AG]\n"
+ "Argentina [AR]\n"
+ "Armenia [AM]\n"
+ "Aruba [AW]\n"
+ "Australia [AU]\n"
+ "Austria [AT]\n"
+ "Azerbaijan [AZ]\n"
+ "Bahamas [BS]\n"
+ "Bahrain [BH]\n"
+ "Bangladesh [BD]\n"
+ "Barbados [BB]\n"
+ "Belarus [BY]\n"
+ "Belgium [BE]\n"
+ "Belize [BZ]\n"
+ "Benin [BJ]\n"
+ "Bermuda [BM]\n"
+ "Bhutan [BT]\n"
+ "Bolivia [BO]\n"
+ "Bosnia And Herzegovina [BA]\n"
+ "Botswana [BW]\n"
+ "Bouvet Island [BV]\n"
+ "Brazil [BR]\n"
+ "British Indian Ocean Territory [IO]\n"
+ "Brunei Darussalam [BN]\n"
+ "Bulgaria [BG]\n"
+ "Burkina Faso [BF]\n"
+ "Burundi [BI]\n"
+ "Cambodia [KH]\n"
+ "Cameroon [CM]\n"
+ "Cape Verde [CV]\n"
+ "Cayman Islands [KY]\n"
+ "Central African Republic [CF]\n"
+ "Chad [TD]\n"
+ "Chile [CL]\n"
+ "China [CN]\n"
+ "Christmas Island [CX]\n"
+ "Cocos (keeling) Islands [CC]\n"
+ "Colombia [CO]\n"
+ "Comoros [KM]\n"
+ "Congo [CG]\n"
+ "Congo, The Democratic Republic Of The [CD]\n"
+ "Cook Islands [CK]\n"
+ "Costa Rica [CR]\n"
+ "Cote D'ivoire [CI]\n"
+ "Croatia [HR]\n"
+ "Cuba [CU]\n"
+ "Cyprus [CY]\n"
+ "Czech Republic [CZ]\n"
+ "Denmark [DK]\n"
+ "Djibouti [DJ]\n"
+ "Dominica [DM]\n"
+ "Dominican Republic [DO]\n"
+ "East Timor [TP]\n"
+ "Ecuador [EC]\n"
+ "Egypt [EG]\n"
+ "El Salvador [SV]\n"
+ "Equatorial Guinea [GQ]\n"
+ "Eritrea [ER]\n"
+ "Estonia [EE]\n"
+ "Ethiopia [ET]\n"
+ "Falkland Islands (malvinas) [FK]\n"
+ "Faroe Islands [FO]\n"
+ "Fiji [FJ]\n"
+ "Finland [FI]\n"
+ "France [FR]\n"
+ "French Guiana [GF]\n"
+ "French Polynesia [PF]\n"
+ "French Southern Territories [TF]\n"
+ "Gabon [GA]\n"
+ "Gambia [GM]\n"
+ "Georgia [GE]\n"
+ "Germany [DE]\n"
+ "Ghana [GH]\n"
+ "Gibraltar [GI]\n"
+ "Greece [GR]\n"
+ "Greenland [GL]\n"
+ "Grenada [GD]\n"
+ "Guadeloupe [GP]\n"
+ "Guam [GU]\n"
+ "Guatemala [GT]\n"
+ "Guinea [GN]\n"
+ "Guinea-bissau [GW]\n"
+ "Guyana [GY]\n"
+ "Haiti [HT]\n"
+ "Heard Island And Mcdonald Islands [HM]\n"
+ "Holy See (vatican City State) [VA]\n"
+ "Honduras [HN]\n"
+ "Hong Kong [HK]\n"
+ "Hungary [HU]\n"
+ "Iceland [IS]\n"
+ "India [IN]\n"
+ "Indonesia [ID]\n"
+ "Iran, Islamic Republic Of [IR]\n"
+ "Iraq [IQ]\n"
+ "Ireland [IE]\n"
+ "Israel [IL]\n"
+ "Italy [IT]\n"
+ "Jamaica [JM]\n"
+ "Japan [JP]\n"
+ "Jordan [JO]\n"
+ "Kazakstan [KZ]\n"
+ "Kenya [KE]\n"
+ "Kiribati [KI]\n"
+ "Korea, Democratic People's Republic Of [KP]\n"
+ "Korea, Republic Of [KR]\n"
+ "Kosovo [KV]\n"
+ "Kuwait [KW]\n"
+ "Kyrgyzstan [KG]\n"
+ "Lao People's Democratic Republic [LA]\n"
+ "Latvia [LV]\n"
+ "Lebanon [LB]\n"
+ "Lesotho [LS]\n"
+ "Liberia [LR]\n"
+ "Libyan Arab Jamahiriya [LY]\n"
+ "Liechtenstein [LI]\n"
+ "Lithuania [LT]\n"
+ "Luxembourg [LU]\n"
+ "Macau [MO]\n"
+ "Macedonia, The Former Yugoslav Republic Of [MK]\n"
+ "Madagascar [MG]\n"
+ "Malawi [MW]\n"
+ "Malaysia [MY]\n"
+ "Maldives [MV]\n"
+ "Mali [ML]\n"
+ "Malta [MT]\n"
+ "Marshall Islands [MH]\n"
+ "Martinique [MQ]\n"
+ "Mauritania [MR]\n"
+ "Mauritius [MU]\n"
+ "Mayotte [YT]\n"
+ "Mexico [MX]\n"
+ "Micronesia, Federated States Of [FM]\n"
+ "Moldova, Republic Of [MD]\n"
+ "Monaco [MC]\n"
+ "Mongolia [MN]\n"
+ "Montenegro [ME]\n"
+ "Montserrat [MS]\n"
+ "Morocco [MA]\n"
+ "Mozambique [MZ]\n"
+ "Myanmar [MM]\n"
+ "Namibia [NA]\n"
+ "Nauru [NR]\n"
+ "Nepal [NP]\n"
+ "Netherlands [NL]\n"
+ "Netherlands Antilles [AN]\n"
+ "New Caledonia [NC]\n"
+ "New Zealand [NZ]\n"
+ "Nicaragua [NI]\n"
+ "Niger [NE]\n"
+ "Nigeria [NG]\n"
+ "Niue [NU]\n"
+ "Norfolk Island [NF]\n"
+ "Northern Mariana Islands [MP]\n"
+ "Norway [NO]\n"
+ "Oman [OM]\n"
+ "Pakistan [PK]\n"
+ "Palau [PW]\n"
+ "Palestinian Territory, Occupied [PS]\n"
+ "Panama [PA]\n"
+ "Papua New Guinea [PG]\n"
+ "Paraguay [PY]\n"
+ "Peru [PE]\n"
+ "Philippines [PH]\n"
+ "Pitcairn [PN]\n"
+ "Poland [PL]\n"
+ "Portugal [PT]\n"
+ "Puerto Rico [PR]\n"
+ "Qatar [QA]\n"
+ "Reunion [RE]\n"
+ "Romania [RO]\n"
+ "Russian Federation [RU]\n"
+ "Rwanda [RW]\n"
+ "Saint Helena [SH]\n"
+ "Saint Kitts And Nevis [KN]\n"
+ "Saint Lucia [LC]\n"
+ "Saint Pierre And Miquelon [PM]\n"
+ "Saint Vincent And The Grenadines [VC]\n"
+ "Samoa [WS]\n"
+ "San Marino [SM]\n"
+ "Sao Tome And Principe [ST]\n"
+ "Saudi Arabia [SA]\n"
+ "Senegal [SN]\n"
+ "Serbia [RS]\n"
+ "Seychelles [SC]\n"
+ "Sierra Leone [SL]\n"
+ "Singapore [SG]\n"
+ "Slovakia [SK]\n"
+ "Slovenia [SI]\n"
+ "Solomon Islands [SB]\n"
+ "Somalia [SO]\n"
+ "South Africa [ZA]\n"
+ "South Georgia And The South Sandwich Islands [GS]\n"
+ "Spain [ES]\n"
+ "Sri Lanka [LK]\n"
+ "Sudan [SD]\n"
+ "Suriname [SR]\n"
+ "Svalbard And Jan Mayen [SJ]\n"
+ "Swaziland [SZ]\n"
+ "Sweden [SE]\n"
+ "Switzerland [CH]\n"
+ "Syrian Arab Republic [SY]\n"
+ "Taiwan, Province Of China [TW]\n"
+ "Tajikistan [TJ]\n"
+ "Tanzania, United Republic Of [TZ]\n"
+ "Thailand [TH]\n"
+ "Togo [TG]\n"
+ "Tokelau [TK]\n"
+ "Tonga [TO]\n"
+ "Trinidad And Tobago [TT]\n"
+ "Tunisia [TN]\n"
+ "Turkey [TR]\n"
+ "Turkmenistan [TM]\n"
+ "Turks And Caicos Islands [TC]\n"
+ "Tuvalu [TV]\n"
+ "Uganda [UG]\n"
+ "Ukraine [UA]\n"
+ "United Arab Emirates [AE]\n"
+ "United Kingdom [GB]\n"
+ "United States Minor Outlying Islands [UM]\n"
+ "Uruguay [UY]\n"
+ "Uzbekistan [UZ]\n"
+ "Vanuatu [VU]\n"
+ "Venezuela [VE]\n"
+ "Viet Nam [VN]\n"
+ "Virgin Islands, British [VG]\n"
+ "Virgin Islands, U.s. [VI]\n"
+ "Wallis And Futuna [WF]\n"
+ "Western Sahara [EH]\n"
+ "Yemen [YE]\n"
+ "Zambia [ZM]\n"
+ "Zimbabwe [ZW]\n"
+ "Other\n";
final String subst = "$2|$1[$2]";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html