Articles of 正则expression式

替换字符串中的所有字母减去Java中的第一个和最后一个字母

我有一个字符串,例如这个: stackoverflow 我想在Java(Android)中获得以下输出: s***********w 所以我们保留第一个和最后一个字母,但其他字母被这个符号“*”替换。 我希望从输入到输出的字符串长度相同。 这是我现在的function代码。 String transform_username(String username) { // Get the length of the username int username_length = username.length(); String first_letter = username.substring(0, 1); String last_letter = username.substring(username_length – 1); String new_string = “”; return new_string; } 我能够得到第一个和最后一个字母,但我真的不知道如何将“*”放在单词的中间。 我知道我可以循环它,但它显然不是一个好的解决方案。

正则expression全文

我觉得有点傻问这个问题,但是从我读过的所有内容来看,这应该是有效的,而对我而言则不然。 我只是想用正则expression式匹配字符串中的整个单词。 因此,如果我试图在一个句子中find“the”这个词,那么它应该返回true,因为“快速的棕色狐狸跳过懒狗”,但是对于“快速的棕色狐狸跳过懒狗”会返回false 。 我试过这个: String text = “the quick brown fox jumps over the lazy dog”; return text.matches(“\\bthe\\b”); 我也尝试过: String text = “the quick brown fox jumps over the lazy dog”; String regex = “\\bthe\\b”; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); return matcher.matches(); 我也试过这个正则expression式:“\ bthe \ b” 他们总是回归虚假。 我觉得我在这里遗漏了一些非常明显的东西,因为这不应该太难。 🙂

Android将字符串转换为数组字符串

我有一个像这样的字符串: [“477″,”com.dummybilling”,”android.test.purchased”,”inapp:com.dummybilling:android.test.purchased”,”779″] 如何使用这5个元素的String []? 有没有人知道.split()方法的正则expression式? 非常感谢,正则expression式让我发疯! 🙁

使用Regex查询Android的SQLiteDatabase

我正在尝试使用选择参数使用查询函数从Android程序中的SQLiteDatabase中获取条目。 我使用SQLite的LIKE和%通配符进行了简单的模式匹配。 现在我想使用正则expression式进行更复杂的模式匹配。 根据SQLite网站 ,要使REGEXP运算符起作用,它必须是用户定义的。 有没有人有成功为Android的SQLiteDatabase创建使用定义的SQLite函数? 或者有没有人在搜索数据库中的字符串时find另一种使用正则expression式的方法?

正则expression式删除所有不可打印的字符

我希望从字符串中删除所有不可打印的ascii字符,同时保留不可见的字符。 我认为这会有效,因为空格,\ n \ r是不可见的字符,但不是不可打印的? 基本上我得到一个包含 字符的字节数组,我不希望它们在其中。 所以我试图将它转换为字符串,删除 字符再次使用它作为字节数组。 空间在我的代码中工作正常,但是现在\ r和\ n不起作用。 保留这些也是正确的正则expression式是什么? 还是有更好的方式来做我正在做的事情? public void write(byte[] bytes, int offset, int count) { try { String str = new String(bytes, “ASCII”); str2 = str.replaceAll(“[^\\p{Print}\\t\\n]”, “”); GraphicsTerminalActivity.sendOverSerial(str2.getBytes(“ASCII”)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return; } } 编辑:我试过[^ \ x00- \ x7F]这是ascii字符的范围….但是 符号仍然通过,很奇怪。

强制关闭正则expression式!匹配

我遇到以下代码问题。 我想匹配一个字符串。 当我有一场比赛时,一切都很完美。 如果找不到匹配项,则会抛出exception并导致强制关闭。 代码片段 private void validatePhoneNumberFormat(String t){ Pattern p = Pattern.compile(“^Match this exactly!$”); Matcher m = p.matcher(t); m.find(); if (m.group(0) != “”){ this.myString = m.group(0); this.setIsValid(true); this.setStatus(0); } else { this.myString = “Invalid Input String”; this.setIsValid(false); this.setStatus(99); // String parsing error } } logcat的 02-17 14:12:10.562: WARN/dalvikvm(3854): threadid=1: thread exiting with uncaught exception […]

replaceAll不替换字符串

我希望用我的StringBuffer符号替换文本“REPLACEME”。 当我打印符号时,它是一个有效的字符串。 当我打印我的查询时,它仍然有文本REPLACEME而不是符号。 为什么? private String buildQuery(){ String query = “http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(REPLACEME)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=”; deserializeQuotes(); StringBuffer symbols = new StringBuffer(); for(int i = 0; i < quotes.size();i++){ if(i == (quotes.size()-1)) symbols.append("%22" + quotes.get(i).getSymbol() + "%22%"); //end with a quote else symbols.append("%22" + quotes.get(i).getSymbol() + "%22%2C"); } System.out.println("***SYMBOLS***" + symbols.toString()); query.replaceAll("REPLACEME", symbols.toString()); return query; }

Android取代正则expression式

我在Android中有一个字符串。 我想用一些html包装4个或更多连续数字的所有实例。 我想这将使用正则expression式完成,但我很难获得最基本的正则expression式。 有人可以帮我弄这个吗? 我想改: var input = “My phone is 1234567890 and my office is 7894561230”; 至 var output = “My phone is 1234567890 and my office is 7894561230”;

将EditText imeOptions设置为actionNext在使用数字时无效

这是我的edittext: – 当我在edittext中删除digit时它工作正常,但digit imeOptions不起作用。 但令人惊讶的是,如果我使用singleLine而不是maxLines,它可以正常工作。 但是现在不推荐使用singleLine 。 我无法删除编辑文本中的数字,我不想使用弃用的方法 。 任何人都可以解决这个问题。 谢谢你

Java与Android正则expression式的区别

美好的一天! 我有一个正则expression式模式: Pattern p = Pattern.compile(“^[a-zA-Z_\\$][\\w\\$]*(?:\\.[a-zA-Z_\\$][\\w\\$]*)*$”); 它应该告诉我java / android包名是否合法。 它在桌面java上工作正常,但它在Android设备上失败 可以说我有一些包名: “. .”, “ПАвыапЫВАПыва”, “com.mxtech.ffmpeg.v7_neon”, … 测试应该显示唯一有效的包是“com.mxtech.ffmpeg.v7_neon”,但也显示测试字符串 ” _ПАвыапЫВАПыва\_ ” 已validation。 为什么? (这是西里尔文。) Android和桌面实现有什么区别?