我在看的算法,可以用变音符号(字符之间映射波浪,抑扬,插入符号,变音符号,卡隆)和他们的"简单"的角色.
例如:
? ? ? ñ ? ? ? ? ? ? ? ? ? ? ? --> n
á --> a
ä --> a
? --> a
? --> o
Run Code Online (Sandbox Code Playgroud)
等等.
我想用Java做这个,虽然我怀疑它应该是Unicode-y,并且应该可以在任何语言中合理地使用.
目的:允许轻松搜索带有变音符号的单词.例如,如果我有一个网球运动员数据库,并且输入了Björn_Borg,我还会保留Bjorn_Borg,这样如果有人进入Bjorn而不是Björn,我就能找到它.
可能重复:
从Unicode字符中删除变音符号(ǹṅṅņṇṋṉɲƞᶇɳIs)
有没有办法摆脱重音并将整个字符串转换为普通字母?
我怎样才能做到这一点?谢谢您的帮助
我需要将String包含某些特定于某些语言的字母(如HÄSTDJUR - noteÄ)的s 转换为String没有这些特殊字母(在本例中为HASTDJUR)的字母.我怎么能用Java做呢?感谢帮助!
这听起来并不是真的.方案如下 - 您想要使用该应用程序,但没有瑞典语键盘.因此,您不必查看字符映射,而是使用拉丁字母表中的典型字母替换特殊字母.
可能重复:
用空字符串替换所有非字母数字字符
import java.util.Scanner;
import java.util.regex.*;
public class io{
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
String c;
if((c=scan.nextLine())!=null)
{
Pattern pt = Pattern.compile("[^a-zA-Z0-9]");
Matcher match= pt.matcher(c);
while(match.find()){
c=c.replace(Character.toString(c.charAt(match.start())),"");
}
System.out.println(c);
}
}
}
Run Code Online (Sandbox Code Playgroud)
情况1
Input : hjdg$h&jk8^i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdgh&jk8^issh6
Run Code Online (Sandbox Code Playgroud)
案例2
Input : hjdgh&jk8i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdghjk8i0ssh6
Run Code Online (Sandbox Code Playgroud)
案例3
Input : hjdgh&j&k8i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdghjki0ssh6
Run Code Online (Sandbox Code Playgroud)
有人请帮我弄明白,我的代码逻辑有什么问题?
我正在生成一个XML文件来进行付款,我对用户的全名有约束.那个参数只接受字母字符(a-ZAZ)+空格来分隔姓名和姓氏.
我无法以简单的方式过滤这个,我如何构建正则表达式或过滤器以获得我想要的输出?
例:
'Carmen López-Delina Santos' 一定是 'Carmen LopezDelina Santos'
我需要用单个元音转换带有装饰的元音,如下所示:á> a,à> a,a,等等; 并删除点,连字符等特殊字符.
谢谢!
我需要在Java中替换字符串中的所有特殊控制字符.
我想问谷歌地图API v3,谷歌似乎并不喜欢这些字符.
示例:http://www.google.com/maps/api/geocode/json?sendor = false&address = NEWS%20YORK%C2%8F
此URL包含以下字符:http://www.fileformat.info/info/unicode/char/008f/index.htm
所以我收到了一些数据,我需要对这些数据进行地理编码.我知道有些角色不会通过地理编码,但我不知道确切的列表.
我是不是能够找到的有关这个问题的任何文件,所以我认为谷歌不喜欢的字符的列表是这一个: http://www.fileformat.info/info/unicode/category/Cc/list.htm
是否有任何已构建的函数来摆脱这些字符,或者我必须构建一个新的,逐个替换?
或者有一个很好的正则表达式完成工作?
有人知道谷歌不喜欢哪个角色列表?
编辑:Google为此创建了一个网页:
https://developers.google.com/maps/documentation/webservices/?hl=fr#BuildingURLs
我有 CharSequence source, int start, int end
我想在开始和结束之间从源中删除所有"控制字符",并将其作为新的CharSequence返回
通过"控制字符"我的意思是像Tab和Return,换行等等不可接受的字符......基本上所有的都是ASCII <32(空格)......但我不知道如何在这个"现代时代"做到这一点"
什么是char?它是unicode吗?如何删除这些"控制字符"?
我创建了一个sqlite数据库,并将csv中的数据导入为UTF-8.它显示了一些未知的字符?.在我的Android代码中,我使用正则表达式管理它.现在我有问题了\n.我的正则表达式未检测到\n,它会取代\并n会在那里.
Pattern pattern = Pattern.compile("[^a-zA-Z0-9$' '-:|,&.\"\"()\n]");
Matcher matcher = pattern.matcher(descriptionfromDb);
String description = matcher.replaceAll("");
Run Code Online (Sandbox Code Playgroud)
我也试过使用android Html.fromHtml而且Spannable两者都没有转义?符号而\n没有转换为新行.
我有一个String作为文件夹/文件名.我正在用该字符串创建文件夹,文件.此字符串可能包含也可能不包含某些可能不允许创建所需文件夹或文件的章程
例如
String folder = "ArslanFolder 20/01/2013";
Run Code Online (Sandbox Code Playgroud)
所以我想用"_"删除这些字符
这是人物
private static final String ReservedChars = "|\?*<\":>+[]/'";
Run Code Online (Sandbox Code Playgroud)
那个正则表达式是什么?我知道replaceAll(); 但是我想为它创建一个正则表达式.
我想格式化一些字符串,如"I>Télé"类似的东西"itele".这个想法是,我希望我的字符串是小写(完成),无空白字符(完成),无重音或特殊字符(如>,<,/,%,~,é,@,ï等).
删除特殊字符的出现是可以的,但是我想在删除重音时保留字母(就像我在我的例子中所做的那样).这就是我所做的,但我不认为好的解决方案是用"e"替换每个é,è,ê,ë,而不是为"i","a"等替换它,然后删除每一个特殊字符...
String name ="I>télé" //example
String result = name.toLowerCase().replace(" ", "").replace("é","e").........;
Run Code Online (Sandbox Code Playgroud)
这样做的目的是为Android应用程序提供有效的资源文件名,所以如果您有任何其他想法,我会接受它!
我有一个String str = "a_bcde_fghij_k".
我想把它改成 "aBcdeFghijK"
如果有一个_字符,下一个字符将更改为大写并删除_字符.
我怎样才能做到这一点?
我有文本文件它包含以下信息.我的任务是从该文本文件中删除特殊符号.我输入文件conatins
This is sample CCNA program. it contains CCNP™.
我需要的输出字符串:
This is sample CCNA program. it contains CCNP.
Run Code Online (Sandbox Code Playgroud)
怎么做请建议我.
谢谢
java ×12
regex ×7
string ×4
unicode ×2
android ×1
ascii ×1
diacritics ×1
google-maps ×1
sqlite ×1